Как кэшировать мой значок

#html #apache #apache2

#HTML #apache #apache2

Вопрос:

Я пытаюсь сделать мой значок кэшируемым, как предлагает yslow.

Мой значок http://www.tucoaster.com/favicon.ico

По какой-то причине тип содержимого значка — текстовый / обычный. Я использую apache2, и в моем .htaccess у меня есть

 ExpiresByType text/plain "access plus 30 days"
ExpiresByType image/x-icon "access plus 30 days"
ExpiresByType image/ico "access plus 30 days"
  

Примечание: заголовки Javascript и css отправляются нормально.

Есть предложения?

Ответ №1:

Apache может не знать правильный тип MIME для формата ICO.

Попробуйте добавить

 AddType image/x-icon .ico
  

перед ExpiresByType директивами.

Комментарии:

1. Вы правы. Чтобы узнать, что Apache думает о типе MIME для favicon.ico, протестируйте свою веб-страницу с помощью webpagetest.org а затем нажмите «Подробности» и прокрутите вниз, чтобы увидеть заголовки ответов при появлении значка. был получен ico. Без указания «AddType image / x-icon .ico» в .htaccess Apache сообщает о моем значке. ico как «Тип содержимого: изображение / vnd.microsoft.icon» вместо «Тип содержимого: изображение / x-icon».

2. Как насчет ExpiresDefault вместо ExpiresByType? Я использую ExpiresDefault и favicon. ico по-прежнему не кэшируется. На самом деле, все, на что есть ссылки в моем index.html не кэшируется, в то время как остальные файлы, загружаемые через RequireJS, кэшируются должным образом. На самом деле у меня совершенно нет идей…