我想将所有流量重定向到https://www.example.com。我的.htaccess规则设置如下:
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteRule (.*) https://www.%1/$1 [R=301,L]
</IfModule>
两个DNS A记录(www和非www)都指向相同的IP。 www.example.com重定向到https://www.www.example.com会导致我做错了什么事?
答案 0 :(得分:1)
发生这种情况是因为您的.htaccess
中的这一行:
RewriteRule (.*) https://www.%1/$1 [R=301,L]
将其更改为:
RewriteRule ^(.*)$ https://www.example.com%{REQUEST_URI} [R=301,L]
应解决该问题。在测试之前,请确保在 之前清除缓存。
答案 1 :(得分:0)
我将其更改为
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301]
,效果很好。感谢乔的帮助。