htaccess内のexpiresヘッダーでファビコンを構成する


12

Apacheサーバーにmod_expiresを介してExpiresヘッダーを実装し、ほとんどのファイルタイプのexpiresヘッダーを正常に作成しましたが、faviconで問題が発生しています。

最初に.icoファイルに一連の指示を追加しようとしましたが、YSlowを使用してチェックするとき、有効期限が設定されていません。

これがうまくいかなかったとき、私はそれをGIFに修正しましたが、これには同じ問題があるようです。

Webサイトの他のgifには、expiresヘッダーが正しく設定されています(少なくともYSlowに準拠)。

誰でもこの状況に光を当てることができますか?

回答:


19

Apacheを使用している場合は、Webサイトの.htaccessファイルまたはApacheのmime.typesファイルにファビコンのMIMEタイプを追加するだけです。

# Add Proper MIME-Type for Favicon
AddType image/x-icon .ico

次に、Expiresヘッダーを数か月先に設定します。

# Enable Apache's mod_expires Module
ExpiresActive On
ExpiresByType image/x-icon "access plus 1 month"

ブラウザのキャッシュをクリアしてページをリロードすると、将来の日付(秒単位で指定)に設定されたCache-Controlヘッダーで提供されるfavicon.icoファイルが表示されるはずです。

Content-Type image/x-icon
Cache-Control: max-age=2592000

関連情報については、http://developer.yahoo.com/performance/rules.html#faviconでfavicon.icoを小さくキャッシュ可能にするYSlowのドキュメントを参照してください。


+1これは絶対に機能します。キャッシュを必ず消去してください。キャッシュを手動で消去するまで、これは機能しないと思いました。ハードリフレッシュがそれを行わなかった理由はわかりませんが、何でも。
はい、バリー

0

これはここで私のために働く:

# Cache the following content for 1 month (4 Weeks)
<FilesMatch "\.(jpg|jpeg|png|gif|ico)$">
Header set Cache-Control "max-age=2419200, public"
</FilesMatch>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.