.htaccess RewriteRule 与目录不匹配

.htaccess RewriteRule that doesn't match directories

我有这个 .htaccess 规则:

RewriteRule ^([a-z]{2,3}|[a-z]{2}-[a-z]{3})/?$ /dashboard.php?lang= [QSA,L]

$1 值可以是具有以下结构的任何值:

因此,如果用户转到:

工作正常...但我在 webroot 目录中也有一些目录可以(并且将会)混淆网络服务器。例如:

问题是:.htaccess 如何避免我当前规则中已经存在的目录?

尝试添加条件:

 RewriteCond %{REQUEST_FILENAME} !-d

就在规则之上。此条件检查 -d(是现有目录)是否为假。因此,对目录的请求将无法满足该条件,并且不会执行该规则。