2013-07-25

SetEnvIf の Request_URI には Query String は含まれない

クエリストリングを含んでいたときだけ、ログに記録したくなかたったので、調べてみた。

まぁ、結論はタイトルに書いてあるのだが、

これを知らなかったおかげで、1時間無駄にした。


じゃあ、どうやって制御するかというとこんな感じ。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/hogehoge/index\.html
    RewriteCond %{QUERY_STRING} id=123
    RewriteRule ^(.*)$ $1 [E=nolog:1]
</IfModule>
CustomLog "| /usr/sbin/rotatelogs /var/log/httpd/access_log.%Y%m%d 86400 540" combined env=!nolog


/hogehoge/index.html
はログに記録されるけど

/hogehoge/index.html?id=123
はログに記録されない。

0 件のコメント:

コメントを投稿

.htaccessで403を404で返す

久しぶりにリライトルールを書いたよ。 ドキュメントルートに.htaccessを置く場合の記述↓ # 403.html は実体がなくてよい。この設定をすることで、あっても使われなくなる。 ErrorDocument 403 /403.html # 独自の404ページをドキュメ...