我想让我的整个网站都通过https运行,并强制使用www。
我看到了许多解决方案,可以强制使用www或https,甚至有一些结合的解决方案,但我似乎无法使它们正常工作。通常会发现自己陷入重定向循环中。
我最接近的解决方案是以下内容,但仍不够完美:
我看到了许多解决方案,可以强制使用www或https,甚至有一些结合的解决方案,但我似乎无法使它们正常工作。通常会发现自己陷入重定向循环中。
我最接近的解决方案是以下内容,但仍不够完美:
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
我需要 https://www.example.com/
http://example.com 成功
https://example.com 成功
http://www.example.com 失败
https://www.example.com 成功
,尽管没有实际重定向。
谢谢
更新
下面的代码成功执行所需的重定向:
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
RewriteCond %{ENV:HTTPS} on [NC]
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]