Configurar favicon con encabezado caduca en htaccess


12

He implementado encabezados de caducidad a través de mod_expires en mi servidor Apache y he creado correctamente encabezados de caducidad para la mayoría de los tipos de archivos, sin embargo, estoy teniendo problemas con el favicon.

Inicialmente intenté agregar un conjunto de instrucciones para los archivos .ico, pero al verificar a través de YSlow no tiene un conjunto de caducidad.

Cuando esto no funcionó, lo modifiqué para que sea un GIF, sin embargo, parece tener el mismo problema.

Otros gifs en el sitio web han configurado correctamente los encabezados de caducidad (según YSlow al menos).

¿Alguien puede arrojar alguna luz sobre esta situación?

Respuestas:


19

Si está usando Apache, simplemente agregue un tipo MIME para el favicon en el archivo .htaccess de su sitio web o en el archivo mime.types de Apache:

# Add Proper MIME-Type for Favicon
AddType image/x-icon .ico

Luego, establezca el encabezado Caduca en unos meses en el futuro:

# Enable Apache's mod_expires Module
ExpiresActive On
ExpiresByType image/x-icon "access plus 1 month"

Después de borrar el caché de su navegador y volver a cargar la página, debería ver el archivo favicon.ico que se sirve con el encabezado Cache-Control configurado en una fecha (especificada en segundos) en el futuro:

Content-Type image/x-icon
Cache-Control: max-age=2592000

Para obtener información relacionada, consulte la documentación de YSlow sobre Cómo hacer que su favicon.ico sea pequeño y almacenable en caché en: http://developer.yahoo.com/performance/rules.html#favicon


+1 Esto funciona absolutamente. Asegúrese de borrar su caché a través de las personas, pensé que esto no funcionaría hasta que borre manualmente mi caché. No estoy seguro de por qué una actualización no lo hizo, pero lo que sea.
Sí Barry

0

Esto aquí funciona para mí:

# Cache the following content for 1 month (4 Weeks)
<FilesMatch "\.(jpg|jpeg|png|gif|ico)$">
Header set Cache-Control "max-age=2419200, public"
</FilesMatch>
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.