0

我正在使用这段代码,它成功地强制使用 ssl:

RewriteEngine On
RewriteCond %{HTTP_HOST} www\.example\.com
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

但是它不会强制在网址开头使用 www。我在这里的另一个页面上发布了这个假定的解决方案:

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]

但是当我尝试打开我的页面时得到的是:“Firefox 检测到服务器正在以永远不会完成的方式重定向对该地址的请求。”

我该如何解决这个问题,也就是说,不仅要强制 ssl,还要在 url 的开头强制 www?

谢谢。

4

1 回答 1

1

尝试:

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
于 2013-09-17T00:53:47.273 回答