2017-03-02 96 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文件。