2013-10-03 5 views
12

मेरे Wordpress निर्देशिका मैं हाल ही में HTTPS को बलपूर्वक लागू करने के लिए अपनी संपूर्ण साइट को बदल www.example.com/blogHTTPS फोर्स रीडायरेक्ट Wordpress में काम नहीं कर

पर है। तो मेरी .htaccess फाइल/ब्लॉग में/इस तरह दिखता है:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /blog/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /blog/index.php [L] 
</IfModule> 

RewriteEngine on 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

मैं भी HTTPS होने के लिए Wordpress सेटिंग्स में साइट का URL बदल दिया है।

यह मुखपृष्ठ पर पूरी तरह से काम करता है, लेकिन किसी भी पोस्ट पेज में, अंतिम उपयोगकर्ता यूआरएल को बदलकर और एंटर दबाकर गैर-सुरक्षित HTTP में बदल सकता है।

उदाहरण के लिए, वे सीधे टाइप कर सकते हैं: http://www.example.com/blog/post-1/ और यह HTTP के रूप में लोड होगा।

मेरी .htaccess फ़ाइल में क्या गलत है? ढीला अंत कहां है?

उत्तर

30

नियमों का क्रम बदलें। पहले https पर रीडायरेक्ट करें और फिर WP को अपने सभी अनुरोधों को ले जाएं।

<IfModule mod_rewrite.c> 
RewriteEngine On 

RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteBase /blog/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /blog/index.php [L] 
</IfModule> 
+2

आपको बहुत बहुत धन्यवाद! उस चाल ने –

+1

किया था, मैंने सोचा था कि यह निश्चित रूप से मेरे '.htaccess' में एक वाक्यविन्यास त्रुटि थी, लेकिन यकीन है कि यह वर्डप्रेस रीराइट्स पहले आ रहा था। इसके लिए धन्यवाद! – cfx

+1

इसके लिए भी पूरी तरह से काम करता है, इसके लिए धन्यवाद। – ColinMcDermott

0

तुम भी इन दो पंक्तियों WP-config.php को

define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']); 
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']); 

तो आप आसानी से देव पर्यावरण के लिए http के लिए शर्तें बना सकता है https के लिए इतना की तरह रहते हैं जोड़ सकते हैं और:

if(strpos($_SERVER['HTTP_HOST'], 'livedomain.com') !== FALSE){ 
    define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']); 
    define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']); 
} else { 
    define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']); 
    define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']); 
} 
संबंधित मुद्दे