mod_rewrite の RewriteCond でのor
mod_rewriteの RewriteCondは続けてかくと全部ANDで評価されますが、RewriteCondの評価文の後ろへ[OR]をつけるとORで評価してくれます。例えば、
RewriteCond &{HTTP_USER_AGENT} "hogefuga" →(A) RewriteCond ${REQUEST_URI} "^/hoge" [OR] →(B) RewriteCond ${REQUEST_URI} "^/fuga" →(C)
とかくと、 A and (B or C)と評価してくれます。
もっと複雑になるとどうなるんじゃ、と実験してみたところどうやら[OR]が一番強いみたい。
RewriteCond A RewriteCond B [OR] RewriteCond C RewriteCond D [OR] RewriteCond E
ってな感じだと、 A and (B or C) and (D or E)になる。
肯定形だけならまだしも、否定形が入ってくると全然わけがわからなくなるな。
orの条件を複数付けたいとか。。そんなときはRewriteRuleを分割したほうがいいんだろうな。