我想引导访问者访问https网址,因此如果访问者键入domain.com,则使用以下代码,他将转到https://www.domain.com
但如果他输入www.domain.com,他会转到https://www.www.domain.com
我该如何避免这种情况?
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI}
答案 0 :(得分:0)
这对我有用:
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}/$1 [L]
如果主机不匹配,则第一条规则会将所有请求重定向到www.example.com(缺少www,但也"获取所有子域")。第二个规则使用HTTP将所有其他请求重定向到HTTPS。当然,您必须将example.com更改为您的域名。