ApacheのSetEnvIf Request_URI
の設定で、
拡張子は分かったけどある文字(?, =, %, $
)が含まれている場合に
nologにしようと思ったけど少しだけ行き詰まったのでメモ。
初めに、
SetEnvIf Request_URI "\?|=|%|\$" nolog
とか書いたけどうまく行かなかった。
よく考えてみれば当たり前だけど、
これじゃリクエストURIが?
のみとか=
のみしかマッチングしないよね。
そんなのありえないっての。
んで、ググったらいい感じのが出てきた。
それを参考に、
SetEnvIf Request_URI "^.*(\?|=|%|\$).*" nolog
に変更。
^
は先頭にマッチング。それに、.*
で
先頭に何かしらの文字がいくらか続く、って表現できる。
んで、何かしらの対象文字を挟んだあとに、
最後にまた何かしらの文字が続くようにする様に.*
。
よく考えれば当たり前のことだけど、1時間ほど迷ってしまった。
2014/05/05 追記
やっぱり上手くマッチングできてなかったけど、原因が分かったので続編。
http://naba.hatenablog.jp/entry/archives/366naba.hatenablog.jp