如何使用Apache <IF>
指令对整个网站进行HTTP到HTTPS重定向?
在https://httpd.apache.org/docs/2.4/en/rewrite/remapping.html,他们说:
要将网站的一部分重定向到HTTPS,您可以执行 以下:
<If "%{SERVER_PROTOCOL} != 'HTTPS'"> Redirect "/admin/" "https://www.example.com/admin/" </If>
我尝试了这种看起来不错的解决方案:
<If "%{SERVER_PROTOCOL} != 'HTTPS'">
Redirect "http://mysupersite.com/" "https://mysupersite.com/"
</If>
很遗憾,这会在https://hstspreload.org/的HSTS测试中触发一个错误
错误:无法从HTTP重定向
http://mysupersite.com
不会重定向到https://mysupersite.com
。
奇怪!因为重定向有效地发生了。