【发布时间】:2012-07-30 19:21:22
【问题描述】:
我正在尝试通过 https 运行我的整个网站并强制访问 www。
我已经看到了许多提供强制 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 SUCCESShttps://example.com SUCCESShttp://www.example.com FAILhttps://www.example.com SUCCESS,虽然没有实际的重定向。
谢谢
更新
以下代码成功执行了我需要的重定向:
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]
【问题讨论】:
-
如果您找到了更新建议的解决方案,请将其作为答案自己发布并接受。有助于保持网站的问答性质。