Configuration de favicon avec en-tête expire dans htaccess


12

J'ai implémenté les en-têtes Expires via mod_expires sur mon serveur Apache et j'ai réussi à créer des en-têtes expires pour la plupart des types de fichiers, mais j'ai des problèmes avec le favicon.

J'ai d'abord essayé d'ajouter un ensemble d'instructions pour les fichiers .ico mais lors de la vérification via YSlow, il n'y a aucun ensemble d'expiration.

Lorsque cela n'a pas fonctionné, je l'ai modifié pour être un GIF, mais cela semble avoir le même problème.

D'autres gif sur le site Web ont correctement défini les en-têtes expirés (selon YSlow au moins).

Quelqu'un peut-il faire la lumière sur cette situation?

Réponses:


19

Si vous utilisez Apache, ajoutez simplement un type MIME pour le favicon dans le fichier .htaccess de votre site Web ou dans le fichier mime.types d'Apache:

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

Ensuite, définissez l'en-tête Expires quelques mois à l'avenir:

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

Après avoir effacé le cache de votre navigateur et rechargé la page, vous devriez voir le fichier favicon.ico servi avec l'en-tête Cache-Control défini à une date (spécifiée en secondes) à l'avenir:

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

Pour des informations connexes, consultez la documentation YSlow sur la création et la mise en cache de votre favicon.ico sur: http://developer.yahoo.com/performance/rules.html#favicon


+1 Cela fonctionne absolument. Assurez-vous de vider votre cache bien que les gens, je pensais que cela ne fonctionnait pas jusqu'à ce que j'ai vidé manuellement mon cache. Je ne sais pas pourquoi un rafraîchissement dur ne l'a pas fait, mais peu importe.
Oui Barry

0

Cela fonctionne ici pour moi:

# Cache the following content for 1 month (4 Weeks)
<FilesMatch "\.(jpg|jpeg|png|gif|ico)$">
Header set Cache-Control "max-age=2419200, public"
</FilesMatch>
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.