apache編 - error_logにfavicon.icoのFile not foundを出なくする

ref. nginx の favicon に関する設定メモ

nginxはlog_not_found off にすればいいだけなので、apacheではどうすれば良いかもちょっと考えてみた。(error logにこんなにこだわらなくてもいいんだけど)

案1: 空ファイル作る

document root 以下を触れる環境にあるなら、これが一番簡単な方法。

$ touch /path/to/docroot/favicon.ico

案2: mod_rewrite を使う

案1はdocument root にfavicon.icoを作るので、userの領域を触れない場合は出来ない。(というか、普通は出来ない)

なので、mod_rewriteを使って

  1. userのdocument rootにfaviconがあればそれを使う
  2. 1.のfaviconがなければ、system側で用意した空fileを使う

ということを考えてみた。

touch /path/to/system/favicon.ico # favicon.icoを用意

RewriteCond %{REQUEST_URI}  ^/favicon.ico
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f
RewriteRule ^/favicon.ico   /path/to/system/favicon.ico [L]