.htaccess重写重定向网址

时间:2012-01-09 11:13:15

标签: .htaccess

在我的.htaccess文件中,我有相当标准的

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?p=$1 [NC]

我只需要在我的根目录中发生这种情况。但是,如果我转到我的一个子目录(包含或不包含index.php文件)的URL,例如www.foo.com/bar,那么我被重定向到www.foo.com/bar/?p=bar - 如何阻止添加?p=bar

2 个答案:

答案 0 :(得分:1)

您可以尝试使规则仅针对非目录执行,如下所示

#if it is not a directory
RewriteCond %{REQUEST_FILENAME} !-d
#then send it to index.php
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?p=$1 [NC,L]

答案 1 :(得分:0)

您可以将.htaccess个文件放入子目录。

# /bar/.htaccess

AllowOverride none

这应该阻止.htaccess继承。