我在Apache 2.4中的vhost中设置了这个
SetEnvIf X-Forwarded-Proto https HTTPS=on
在我的.htaccess中我添加了这条规则:
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
但是由于我的RewriteCond没有看到HTTPS的值,我得到了一个无限循环。
我做了phpinfo(INFO_VARIABLES);
我获得了$_SERVER['HTTPS'] on
我在errorLog中调试了RewriteCond: input='off' pattern='off' => matched
如您所见,RewriteCond没有看到我设置的值。
我读了一些文档
SetEnv指令在请求处理期间运行较晚意味着 SetEnvIf和RewriteCond等指令不会看到变量 用它设置。
我所做的应该是有效的。
怎么了? 谢谢;)