如何避免特定目录的RewriteRule?

时间:2016-08-03 22:48:32

标签: apache .htaccess

这是我当前的.htaccess数据。

# permalinks
RewriteEngine on

# users
RewriteRule ^([a-z0-9_-]{2,15})$ /user.php?username=$1 [QSA,L]

这显然意味着

http://testsite.net/asantos

被解析为:

http://testsite.net/user.php?username=asantos

该网站在根目录中还有一个 inc 目录,如果我打开此网址

http://testsite.net/inc/

它实际上重定向到:

http://testsite.net/inc/?username=inc

如何避免网站根目录中现有目录的行为?

1 个答案:

答案 0 :(得分:1)

  

如何避免网站根目录中现有目录的行为?

使用:

# permalinks
RewriteEngine on

# skip all files and directories from rewrite rules *below*
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

RewriteRule ^([a-z0-9_-]{2,15})$ /user.php?username=$1 [QSA,L]

# more rules here