1

我有以下代码使用 https 将非 www 重定向到 www 并且它可以工作:

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

问题是当我访问 www.site.com 时,它不会重定向到 https。我还尝试在顶部的代码下方添加以下代码,但最终在https://www.www.site.com

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

2 回答 2

3

也许这就是你需要的:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} (?:www\.)?(.*)  [NC]
RewriteRule ^(.*) https://www.%1/$1 [R,L]
于 2013-04-10T07:12:42.727 回答
2

请检查这个:

RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1
于 2013-04-10T07:40:37.757 回答