Konfiguration von Favicon mit Expires-Header in htaccess

12

Ich habe Expires-Header über mod_expires auf meinem Apache-Server implementiert und Expires-Header für die meisten Dateitypen erfolgreich erstellt, habe jedoch Probleme mit dem Favicon.

Ich habe anfangs versucht, eine Reihe von Anweisungen für die ICO-Dateien hinzuzufügen, aber bei der Überprüfung über YSlow ist kein Ablaufdatum festgelegt.

Als dies nicht funktionierte, habe ich es so geändert, dass es ein GIF ist, dies scheint jedoch dasselbe Problem zu haben.

Andere GIFs auf der Website haben korrekt gesetzte Verfalls-Header (mindestens gemäß YSlow).

Kann jemand Licht in diese Situation bringen?

masegaloeh
quelle

Antworten:

17

Wenn Sie Apache verwenden, fügen Sie einfach einen MIME-Typ für das Favicon in die .htaccess-Datei Ihrer Website oder in die mime.types-Datei von Apache ein:

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

Setzen Sie dann den Expires-Header einige Monate in der Zukunft:

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

Nachdem Sie den Cache Ihres Browsers geleert und die Seite neu geladen haben, sollte die Datei favicon.ico angezeigt werden, wobei der Cache-Control-Header auf ein Datum gesetzt wird (in Sekunden angegeben):

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

Weitere Informationen hierzu finden Sie in der Dokumentation YSlow auf Making Your favicon.ico Kleine und Cacheable an: http://developer.yahoo.com/performance/rules.html#favicon

Ryanjbonnell
quelle
+1 Das funktioniert absolut. Stellen Sie sicher, dass Sie Ihren Cache durch andere Personen löschen. Ich dachte, dass dies nicht funktioniert, bis ich meinen Cache manuell geleert habe. Ich bin nicht sicher, warum eine harte Auffrischung es nicht getan hat, aber was auch immer.
Ja Barry
0

Das hier funktioniert bei mir:

# Cache the following content for 1 month (4 Weeks)
<FilesMatch "\.(jpg|jpeg|png|gif|ico)$">
Header set Cache-Control "max-age=2419200, public"
</FilesMatch>
BastianW
quelle