在mod_rewrite中,如何编写一个规则来重定向除特定目录的所有内容之外的所有内容?

时间:2011-02-08 17:27:33

标签: apache mod-rewrite

在我的Apache服务器上,我有这个规则:

<IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule (.*) /shindig/index.php [L]
</IfModule>

这会将每个请求重定向到/shindig/index.php, 我想重定向除此路径中的任何内容之外的所有请求:/ myOrigPath

我该怎么做?请假设我几乎不了解mod_rewrite

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用其他RewriteCond并排除该路径:

RewriteCond %{REQUEST_URI} !^/myOrigPath
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /shindig/index.php [L]

您还可以使用RewriteRule(完整匹配)或%{REQUEST_URI}(第一组匹配)检查$0模式的匹配值,而不是$1