具有1 AND和8 OR条件的Apache重写规则

时间:2014-07-18 07:37:17

标签: mod-rewrite

我有一种情况需要在apache中应用8次重写并从这8种情况中排除1个IP。 默认情况下,重写条件遵循[AND]。 现在,我该如何编写规则:

A [AND] (B [OR] C [OR] D [OR] E [OR] F [OR] G [OR] H [OR] I)

如果我的问题不明确,请告诉我。

提前致谢。

1 个答案:

答案 0 :(得分:0)

首先放置[OR]条件。这是一个例子:

RewriteCond %{REQUEST_URI} /a/ [OR]
RewriteCond %{REQUEST_URI} /b/ [OR]
RewriteCond %{REQUEST_URI} /c/ [OR]
(...)
RewriteCond %{REQUEST_URI} /y/ [OR]
RewriteCond %{REQUEST_URI} /z/ 
RewriteCond %{REQUEST_URI} ^/glossary/
RewriteRule ^/glossary/([a-z])/ glossary.php?letter=$1 [L]

通过明确的括号,你得到了这个:

(((((((B [OR] C) [OR] D) [OR] E) [OR] F) [OR] G) [OR] H) [OR] I) [AND] A