我们在Wordpress主页上遇到重定向循环,我不知道它来自何处,我们将网址切换为http://www为https://。
这是htaccess文件:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)
RewriteRule ^.*$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
http://scrybs.com重定向到http://www.scrybs.com,http://www.scrybs.com导致重定向循环......
我尝试停用所有插件,删除htaccess文件,这些都没有。
非常感谢。
答案 0 :(得分:0)
不要使用RewriteRules进行HTTP到HTTPS重定向。将其更改为将HTTP(端口80)虚拟主机重定向到HTTPS(端口443)虚拟主机,并将所有配置置于HTTPS(端口443)配置中。
<VirtualHost *:80>
ServerName www.example.com
Redirect "/" "https://www.example.com/"
</VirtualHost >
<VirtualHost *:443>
ServerName www.example.com
# ... SSL configuration goes here
</VirtualHost >
参考:https://httpd.apache.org/docs/2.4/rewrite/avoid.html
然后,删除这些行:
RewriteCond %{HTTP_HOST} ^www\.(.*)
RewriteRule ^.*$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
您可能希望恢复 www 配置,但不进行HTTPS更新。