Я реализовал заголовки Expires через mod_expires на моем сервере Apache и успешно создал заголовки Expires для большинства типов файлов, однако у меня возникли проблемы с иконкой.
Сначала я попытался добавить набор инструкций для файлов .ico, но при проверке через YSlow у него не установлен срок действия.
Когда это не сработало, я изменил его на GIF, однако, похоже, здесь та же проблема.
У других гифок на сайте правильно установлены заголовки истечения срока действия (по крайней мере, согласно YSlow).
Может ли кто-нибудь пролить свет на эту ситуацию?
Если вы используете Apache, просто добавьте MIME-тип для значка в файле .htaccess вашего веб-сайта или в файл Apache mime.types:
# 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"
После очистки кеша браузера и перезагрузки страницы вы должны увидеть, что файл favicon.ico обслуживается с заголовком Cache-Control, установленным на дату (указанную в секундах) в будущем:
Content-Type image/x-icon
Cache-Control: max-age=2592000
Для получения дополнительной информации см. Документацию YSlow на Сделайте ваш favicon.ico маленьким и кэшируемым в: http://developer.yahoo.com/performance/rules.html#favicon
Это здесь работает для меня:
# Cache the following content for 1 month (4 Weeks)
<FilesMatch "\.(jpg|jpeg|png|gif|ico)$">
Header set Cache-Control "max-age=2419200, public"
</FilesMatch>