2017-03-02 110 views
0

我在htaccess中使用下面的代碼來重定向我的內部頁面url到https://但他們不工作。當我進入我的主頁時,它重定向到https,然後所有內部頁面都做同樣的事情,但如果我訪問任何內部頁面而不使用安全URL,它不會重定向到安全。htaccess重定向到SSL不起作用

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
RewriteCond %{HTTPS} !=on 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
</IfModule> 

# END WordPress 
<IfModule mod_expires.c> 
# Enable expirations 
ExpiresActive On 
# Default directive 
ExpiresDefault "access plus 1 month" 
# My favicon 
ExpiresByType image/x-icon "access plus 1 year" 
# Images 
ExpiresByType image/gif "access plus 1 month" 
ExpiresByType image/png "access plus 1 month" 
ExpiresByType image/jpg "access plus 1 month" 
ExpiresByType image/jpeg "access plus 1 month" 
# CSS 
ExpiresByType text/css "access plus 1 month" 
# Javascript 
ExpiresByType application/javascript "access plus 1 year" 
</IfModule> 

有人可以幫忙嗎?

回答

0

您的重寫條件限制太多,無法匹配每個可能的wordpress URI。您可以嘗試基於服務器端口進行重定向。

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] 
+0

嗨,感謝您的快速響應,但它沒有奏效。你認爲我應該刪除index.php相關的代碼?因爲然後重定向工作,但內部網頁顯示404錯誤,雖然網址是安全的。 –

+0

是的,我會說服務器端口的條件移動到htaccess文件的頂部和/或省略其他規則和條件。 – brirus

+0

只是讓它工作,謝謝 –

0

我會冒昧地說嘗試WP Force SSL插件。我過去使用過這個來避免修改我的.htaccess文件。