调整Apache mod_rewrite RewriteRule不要对物理目录起作用

时间:2008-09-24 07:34:55

标签: apache mod-rewrite

我有这个RewriteRule,效果很好: - )

RewriteRule ^([^/]*)/$ /script.html?id=$1 [L]

这个规则的坏处是它还匹配我不想要的物理目录。

如何告诉mod_rewrite忽略物理目录并仅在匹配的目录不存在时应用上述规则?

2 个答案:

答案 0 :(得分:3)

看看RewriteCond。在规则之前放置以下内容以免除目录和文件

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

答案 1 :(得分:0)

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/$ /script.html?id=$1 [L]