Налаштування favicon з заголовком закінчується в htaccess


12

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

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

Коли це не спрацювало, я змінив його на GIF, однак, схоже, це те саме.

Інші gif-файли на веб-сайті мають правильно встановлені заголовки терміну дії (відповідно до YSlow як мінімум).

Чи може хтось пролити щось на цю ситуацію?

Відповіді:


19

Якщо ви використовуєте Apache, просто додайте MIME-тип для фавікону у файл .htaccess вашого веб-сайту або у файл mime.types Apache:

# 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, який надається заголовку кеша-керування, встановленому на дату (вказану в секундах) у майбутньому:

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.