![](/img/trans.png)
[英]Stuck in a redirect loop from RewriteCond/RewriteRule in .htaccess
[英]htaccess RewriteRule cause loop
请给我一个建议,为什么这个.htaccess文件会导致重定向循环?
我有这个网址: www.akomin.cz/或www.akomin.cz/smth/ ,我想在那里重定向: www.akomin.cz/nedostupny/
但是Safari向我抛出了一个错误,即尝试打开www.akomin.cz/nedostupny/时,存在许多重定向。
RewriteEngine on
RewriteRule !^/nedostupny/ /nedostupny/ [L,R=302]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.(php|html?|jpg|gif)$
RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
将您的第一个规则更改为:
RewriteCond %{THE_REQUEST} !/nedostupny/ [NC]
RewriteRule ^ /nedostupny/ [L,R=302]
您需要使用%{THE_REQUEST}
因为您的最后一条规则将REQUEST_URI
更改为/index.php
从而导致第一条规则再次触发。 THE_REQUEST
变量表示Apache从您的浏览器收到的原始请求,在执行某些重写规则后不会被覆盖。
清除浏览器缓存后,请确保对其进行测试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.