2010-09-15 141 views
0

我使用的是默认的.htaccess,并且我需要将所有以https://开头的url重定向到http://。我的服务器使用相同的文件夹,HTTP和HTTPS协议...... 这是我目前的.htaccess:通过.htaccess将HTTPS重定向到HTTP

# BEGIN WordPress <IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] </IfModule> 
# END WordPress 

Options +FollowSymlinks 
RewriteEngine On 
RewriteCond %{SERVER_PORT} ^443$ 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L] 

它工作正常的https://www.domain.com/(重定向到http://www.domain.com/),但它不工作https://www.domain.com/subpages/(它也重定向到http://www.domain.com/)。

您是否在.htaccess中看到任何问题?

谢谢

回答

4

更改规则的顺序:

Options +FollowSymlinks 

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    RewriteCond %{SERVER_PORT} ^443$ 
    RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L] 

    # BEGIN WordPress 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.php [L] 
    # END WordPress 
</IfModule> 

否则WordPress的规则将赶上这就是URL路径的所有请求不为空(即不只是/)。

+0

工程很棒,非常感谢您的帮助... – Machi 2010-09-15 13:10:05

相关问题