通过.htaccess将HTTPS重定向到HTTP

时间:2010-09-15 12:59:36

标签: .htaccess https

我正在使用带有默认.htaccess的WordPress,我需要将所有以https://开头的网址重定向到http://。我的服务器为http和https协议使用相同的文件夹... 这是我目前的.htaccess:

# 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有什么问题吗?

谢谢

1 个答案:

答案 0 :(得分: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路径不为空的请求(即不只是/)。