繁体   English   中英

htaccess RewriteRule原因循环

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM