Настройка favicon с заголовком expires в htaccess


12

Я реализовал заголовки Expires через mod_expires на моем сервере Apache и успешно создал заголовки expires для большинства типов файлов, однако у меня возникли проблемы с favicon.

Сначала я попытался добавить набор инструкций для файлов .ico, но при проверке через YSlow у него нет установленного срока действия.

Когда это не сработало, я изменил его на GIF, но, похоже, это та же проблема.

Другие gif-файлы на веб-сайте правильно установили заголовки expires (по крайней мере, по YSlow).

Кто-нибудь может пролить свет на эту ситуацию?

Ответы:


19

Если вы используете 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 Small and Cacheable по адресу: http://developer.yahoo.com/performance/rules.html#favicon.


+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>
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.