之前在别的服务器上做过一个测试网站,为了全部使用https就写了这么一个重定向规则在.htaccess中:
RewriteEngine On
RewriteCond %{HTTPS} off$ [NC]
RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
之前工作的一直很好,直到我将apache的mod_spdy模块装上,准备给服务器部署上spdy支持。部署完spdy之后,该站的任何网页都打不开了,一直显示
This webpage has a redirect loop
但是使用IE浏览器的话还是正常的,可以正常的打开网页。于是查找资料,发现在启用了spdy协议之后,mod_rewrite就会获取不到正常的%{HTTPS}状态,从而导致无限的重定向,想让客户端使用https协议访问网站。在mod_spdy没有修复之前,有一个临时的解决办法,就是将重定向规则修改为如下这个样子:
RewriteEngine (更多…)