VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

Apacheで特定の拡張子を含むリクエストをログ対象から外す

画像やCSS、JavaScriptファイルなどに対するリクエストのアクセスログを記録しないようにする設定方法を確認しました。

●概要
 
SetEnvIfディレクティブで、リクエストの属性に基づいて環境変数を設定する事が出来ます。
 
下記設定例のようにSetEnvIfで設定対象の拡張子を指定して環境変数を設定し、その環境変数を使ってアクセスログの記録対象外とする事が出来ます。
 
●設定例
 
ここでは、URLに画像、CSS、JavaScriptの拡張子が指定されている場合は、アクセスログに記録しないようにする場合を例にします。
 
①URLに画像、CSS、JavaScriptの拡張子が指定されている場合、環境変数ignoreを設定。
 
②CustomLogで環境変数ignoreが設定されていない場合のみログを取得する。
 
SetEnvIf Request_URI “\.(PNG|png|gif|GIF|jpg|JPG|css|CSS|js|JS)$”” ignore
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined
CustomLog “logs/access.log” combined env=!ignore

モバイルバージョンを終了