将重写放入Apache中的目录上下文时出现无限循环

我想将www.example.com/fooredirect到www.example.com/bar/index.php/foo

所以我有规则(mod_rewrite)

<Location /> RewriteEngine on RewriteRule /(.*) /bar/index.php/$1 [L] </Location> 

这个configuration造成无限循环,如何解决?

谢谢。

像Encybuild议的那样,你要确保你不会试图访问index.php

 RewriteEngine on RewriteCond %{REQUEST_URI} !/bar/index.php/.* RewriteRule /(.*) /bar/index.php/$1 [L] 

希望这可以帮助。

您应该尝试添加RewriteCond:RewriteCond%{HTTP_USER_AGENT} ^ Mozilla。 铬。 $

这应该通过仅在请求来自浏览器时执行redirect来防止无限循环*。

* – 假设apacheredirect的请求将有一个空HTTP头HTTP_USER_AGENT / apache,而不是原始头。 PS:你可能想添加ie的http头到列表中。