mod_rewrite仅在此级别,但不在以下级别

时间:2012-01-28 04:02:19

标签: apache mod-rewrite

是否有一个方法使用mod_rewrite来获得一个规则,该规则在目录结构的“this”级别匹配index.php(或任何有问题的页面),而不是在它下面的子目录中的任何index.php?

例如:

http://www.domain.tld/index.php ==应匹配,而

http://www.domain.tld/admin/index.php ==不匹配

即,我正在寻找一个“不要下降”的论点,但不知道在文档中搜索的正确短语。请注意,我们可能不是仅讨论/ admin,而是ANY子目录,并且我们尝试匹配的页面可能不像此示例那样处于顶层,而是与htaccess文件处于同一级别,无论在哪里。

2 个答案:

答案 0 :(得分:1)

怎么样:

RewriteRule ^index.php$ index.php # match
RewriteRule ^(.*)/index$ $1/index.php # not match

答案 1 :(得分:0)

您所需要的只是提供精确的模式,仅此而已:

RewriteRule ^index\.php$ new_url.php [L]

^index\.php$ 匹配当前文件夹中的index.php(.htaccess文件所在的文件夹)而不是任何其他位置(^表示开始字符串,而$表示字符串的结尾。)