.htaccess RewriteRule排除文件夹

时间:2014-08-15 14:44:08

标签: php apache .htaccess mod-rewrite

我用.htaccess为PHP制作了TLP系统。我想排除/ admin文件夹(在根文件夹中)。 我有这个.htaccess:

RewriteEngine On
RewriteRule ^(|/)$ index.php?url=$1
RewriteRule ^([a-zA-Z0-9_-]+)(|/)$ index.php?url=$1

当我进入/ admin目录时,它会显示:/ admin /?url = admin。 但我不想要它请求?url = admin。

有人知道如何排除/ admin文件夹吗? 非常感谢!

2 个答案:

答案 0 :(得分:2)

如果您在管理区域内不需要重写,那么简单的方法是在管理目录中放置一个.htaccess文件,说RewriteEngine Off

另一个选择是在上面添加以下两个重写规则: RewriteCond %{REQUEST_URI} !^/admin/

答案 1 :(得分:1)

更改.htaccess,添加以下行:

//Ignore Admin folder
RewriteCond %{REQUEST_URI} !^/admin/

//Always add trailing slash
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301]

您可能想要检查此网址,一切都解释得很好:http://enarion.net/web/htaccess/trailing-slash/