IEでfavicon.icoが表示されないとき

久しく書いていなかったのでリハビリを兼ねて備忘録的なものを。

favicon.ico

ちゃんと public/favicon.ico を置いて、<link rel="shortcut icon" href="/favicon.ico"/>としているにも関わらず、ファビコンが表示されないことがあります。favicon.icoが壊れているんじゃないかとか、ファイルの形式が違うんじゃないかとか、hrefの指定が間違っていたか、と自分を疑う前に IEを疑いましょう。

対処

たぶん IEは、favicon.icoリクエストでサーバから file not foundが返ってくると、それを履歴のどこかにとっておいてページの強制リロード(Ctrl+F5)なんかをしても、favicon.icoの再取得は行わないようになっているんですね。そういうふうになっているとすれば、一定時間経てばその状態がクリアされて、favicon.icoの再取得が行われると思いますが、そこまで待てないときはどうするか。

  1. ツールでキャッシュと履歴をクリアする
  2. IEを一度終了させる

クリアするのは履歴だけでいいかもしれません。履歴をクリアしただけではリロードしても状態は変わりません。IEの再起動が必要です。