我有 .htaccess 规则:
RewriteRule ^([a-z]{2,3}|[a-z]{2}-[a-z]{3})/?$ /dashboard.php?lang=$1 [QSA,L]
$ 1值可以是具有以下结构的任何值:
所以,如果用户去了:
工作正常......但我在webroot目录中也有一些目录可以(并且会)混淆web服务器。例如:
问题是:.htaccess如何避免当前规则中已存在的目录?
答案 0 :(得分:1)
尝试添加条件:
RewriteCond %{REQUEST_FILENAME} !-d
正好在规则之上。此条件检查-d
(是现有目录)是否为false。因此,对目录的请求将失败,并且规则将不会被执行。