如何匹配RewriteCond中的子目录?

时间:2009-05-08 12:31:11

标签: regex mod-rewrite

RewriteCond正确的正则表达式出现问题

RewriteCond %{REQUEST_URI} !^/foo/

按预期工作,即在重写到以/ foo /开头的所有网址后不适用。

RewriteCond %{REQUEST_URI} !^/foo/bar/

另一方面,没有像我期望的那样工作。以/ foo / bar /开头的网址仍在重写中。

如何输入正确的正则表达式来排除子目录?

1 个答案:

答案 0 :(得分:7)

也许这是应用规则的内部重定向的新URL。 L flag就是这样做的。

  

[...]如果RewriteRule生成内部重定向(在每个目录上下文中重写时经常发生),这将重新注入请求并将导致从第一个{{1开始重复处理}}

如果您想确保初始网址路径不是以“/ foo / bar”开头,请检查request line(请参阅THE_REQUEST variable):

RewriteRule