Chromeでfaviconが表示されない


NginxからNodejsへproxyしてる環境で、node側のページにアクセスしてるのにずっと何故かnginxがホストしてるWEBページのファビコンが表示され続けてたので、調べてみたら意外なとこではまってました。

Proxyを介さないで直接nodeの3000ポートにアクセスするとちゃんとfaviconが表示されたので、最初はキャッシュかな?と思い、色々調べてました。

クロームは他のブラウザよりfaviconのcacheが強いらしく結構色々記事が出てきて、それに習ってcacheのディレクトリを消したりもしましたが効果無し。

色々悩み、ふとfaviconを読み込んでいる位置を思い出してると、temlateの都合上html内のbody要素の中に記述していたことを発見。

<body>
	
<link rel="shortcut icon" href="favicon.ico" type="image/vnd.microsoft.icon">

</body>

FirefoxとかSafariでは大丈夫なので、まさかこれが影響していないだろうと思いつつ、head要素以下に移動させてみた。

<head>
	
<link rel="shortcut icon" href="favicon.ico" type="image/vnd.microsoft.icon">

</head>

ちゃんと表示されるやん!まじすかクロームはん。