Htaccess重写除了一个目录

时间:2013-10-14 18:22:05

标签: regex apache .htaccess mod-rewrite

我的htaccess文件中有这个

RewriteRule ^([a-zA-Z0-9\-]+)$ home.php?id=$1

哪个重写为domain.com/test to domain.com/home.php?id=test

如何保留此代码,但是某些目录不能重写为home.php?id = ???

1 个答案:

答案 0 :(得分:1)

添加RewriteCond

RewriteCond %{REQUEST_URI} !^/somedir/ [NC]
RewriteRule ^([a-z0-9-]+)/?$ home.php?id=$1 [L,NC,QSA]

这将跳过目录/somedir

的规则

要跳过所有目录,请使用它:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z0-9-]+)/?$ home.php?id=$1 [L,NC,QSA]