修改Apache mod_rewrite RewriteRule使其不作用于物理目录
时间:2020-03-06 14:38:51 来源:igfitidea点击:
我有这个RewriteRule效果很好:-)
RewriteRule ^([^/]*)/$ /script.html?id= [L]
关于此规则的坏事是它也匹配我不需要的物理目录。
我该如何告诉mod_rewrite
忽略物理目录并仅在不存在匹配的目录时应用上述规则?
解决方案
看一看RewriteCond。将以下内容放在规则前,以免除目录和文件
RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]*)/$ /script.html?id= [L]