mod_rewriteの[OR]
クローラ対策としてこういうことを実現しました。
一番目の「どれか」を表現するのには[OR]を使うんですが、
こういう表現になります。
RewriteCond %{HTTP_USER_AGENT} "AAA" [OR] RewriteCond %{HTTP_USER_AGENT} "BBB" [OR] RewriteCond %{HTTP_USER_AGENT} "CCC"
この次に、二番目の条件を書くとどうなるか。
RewriteCond %{REQUEST_URI} "/hoge"
希望としては、こうなってほしい。
( user_agent = "AAA or BBB or CCC" ) and ( request_uri = "/hoge")
でもRewriteCondってデフォルトではANDなので、こうなるような気もする。
( user_agent = "AAA" or "BBB") or (user_agent="CCC" and request_uri = "/hoge")
実験してみると、期待したとおり
( user_agent = "AAA or BBB or CCC" ) and ( request_uri = "/hoge")
となりました。かっこが書けるとはっきりするのにな。