Apache > favicon.icoをエラーログに残さず、ファイルIOも発生させない方法

/favicon.ico
IEが勝手にリクエストするサイトのアイコンですが、設置していないとapacheのerror_logにnot found errorがひたすら書き込まれていくことになってしまい、可読性・パフォーマンス上問題になります。

対応としては、httpd.confに


Redirect 404 /favicon.ico


ErrorDocument 404 "No favicon

とかくことで対応できます。

「Redirect 404 /favicon.ico」でディスクIOを発生させることもなく404反応を返し、
「ErrorDocument 404 "No favicon」でカスタムエラーページを表示することもなくメッセージ表示をしています。

なおaccess_logの方の404の記録を弾くには
SetEnvIf Request_URI "\.ico$" no_log
CustomLog /dev/shm/access_log combined env=!no_logというように記述することで実現出来ます(上の設定では.icoで終わるものを全て弾いている)。

http://www.accessup.org/pj/6_B4C9CDFDBFCDA4B5A4F3/20090725.html