【问题标题】:htaccess infinite redirect loophtaccess 无限重定向循环
【发布时间】:2012-09-05 07:00:42
【问题描述】:
在过去的两个月里,我一直面临这个问题。
我有一个 htaccess 文件,我已将其放在顶级托管目录中。
但是我一放,它就会导致重定向无限循环。
托管公司要求我检查是否启用了任何其他 htaccess 文件。
但我的整个托管目录中只有 1 个 htaccess 文件。
这是我的 .htaccess 的代码
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}
</IfModule>
谁能猜出死循环的原因?
【问题讨论】:
标签:
php
apache
.htaccess
https
【解决方案1】:
试试:
RewriteEngine on
#RewriteCond %{HTTPS} !=on
#RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
【解决方案2】:
你可以试试这个:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index\.
RewriteCond %{REQUEST_URI} !^/$
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}
</IfModule>
与第二条规则中匹配的 URI 总是非空的不同,/ 不会再次匹配并继续循环。