La configurazione di favicon con scadenza intestazione in htaccess


12

Ho implementato le intestazioni di Scadenza tramite mod_expires sul mio server Apache e ho creato con successo le intestazioni di scadenza per la maggior parte dei tipi di file, tuttavia sto riscontrando problemi con la favicon.

Inizialmente ho provato ad aggiungere una serie di istruzioni per i file .ico ma quando si controlla tramite YSlow non ha una scadenza impostata.

Quando questo non ha funzionato, l'ho modificato in modo da essere un GIF, tuttavia questo sembra avere lo stesso problema.

Altre gif sul sito Web hanno impostato correttamente le intestazioni di scadenza (almeno secondo YSlow).

Qualcuno può fare luce su questa situazione?

Risposte:


19

Se stai usando Apache, aggiungi un MIME-Type per la favicon nel file .htaccess del tuo sito web o nel file mime.types di Apache:

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

Quindi, imposta l'intestazione Expires tra qualche mese in futuro:

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

Dopo aver svuotato la cache del browser e ricaricato la pagina, in futuro dovresti vedere il file favicon.ico servito con l'intestazione Cache-Control impostata su una data (specificata in secondi):

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

Per informazioni correlate, consultare la documentazione di YSlow su come rendere favicon.ico piccolo e memorizzabile nella cache all'indirizzo: http://developer.yahoo.com/performance/rules.html#favicon


+1 Funziona assolutamente. Assicurati di svuotare la cache nonostante le persone, pensavo che non funzionasse fino a quando non ho cancellato manualmente la cache. Non sono sicuro del motivo per cui un duro aggiornamento non lo ha fatto, ma comunque.
Sì, Barry,

0

Questo qui funziona per me:

# Cache the following content for 1 month (4 Weeks)
<FilesMatch "\.(jpg|jpeg|png|gif|ico)$">
Header set Cache-Control "max-age=2419200, public"
</FilesMatch>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.