我正在使用此代码并成功强制执行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而且强迫网址开头的网址?
感谢。
答案 0 :(得分:1)
尝试:
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]