什么是正确的htaccess重定向代码



我在htaccess上使用了这段代码,将网站所有版本的URL重定向到https://www,但有些工具显示重定向链错误。有人能解决这个问题吗?

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} ^(.*)$  [NC]
RewriteRule (.*) https://www.%1/$1 [R=301,L]

根据您当前的指令,如果您请求http://www.example.com/,它将重定向到https://www.www.example.com/——这显然不是目的。

您需要修改捕获第三个条件以排除可选的www.子域。

例如:

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} ^(?:www.)?(.*)$
RewriteRule (.*) https://www.%1/$1 [R=301,L]

但一些工具显示重定向链错误

不管"一些工具"显示什么,重要的是您的网站报告什么。

最新更新