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

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

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

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

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

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

2 ответа

Если вы используете 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

Это здесь работает для меня:

# Cache the following content for 1 month (4 Weeks)
<FilesMatch "\.(jpg|jpeg|png|gif|ico)$">
Header set Cache-Control "max-age=2419200, public"
</FilesMatch>
Другие вопросы по тегам