Konfiguracja favicon z wygasaniem nagłówka w htaccess


12

Zaimplementowałem nagłówki Expires poprzez mod_expires na moim serwerze Apache i pomyślnie utworzyłem nagłówki expires dla większości typów plików, jednak mam problem z favicon.

Początkowo próbowałem dodać zestaw instrukcji dla plików .ico, ale podczas sprawdzania za pomocą YSlow nie ma ustawionego okresu ważności.

Kiedy to nie działało, zmieniłem go na GIF, jednak wydaje się, że ma to ten sam problem.

Inne gify na stronie mają poprawnie ustawiony wygasają nagłówki (przynajmniej YSlow).

Czy ktoś może rzucić jakieś światło na tę sytuację?

Odpowiedzi:


19

Jeśli używasz Apache, po prostu dodaj typ MIME dla ulubionych w pliku .htaccess swojej witryny lub w pliku mime.types Apache:

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

Następnie ustaw nagłówek Expires na kilka miesięcy w przyszłości:

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

Po wyczyszczeniu pamięci podręcznej przeglądarki i ponownym załadowaniu strony powinieneś zobaczyć plik favicon.ico obsługiwany z nagłówkiem Cache-Control ustawionym na datę (określoną w sekundach) w przyszłości:

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

Aby uzyskać powiązane informacje, zapoznaj się z dokumentacją YSlow na temat tworzenia małego i łatwego do buforowania pliku favicon.ico pod adresem : http://developer.yahoo.com/performance/rules.html#favicon


+1 To absolutnie działa. Pamiętaj, aby wyczyścić pamięć podręczną przez ludzi. Myślałem, że to nie zadziała, dopóki ręcznie nie wyczyściłem pamięci podręcznej. Nie jestem pewien, dlaczego twarde odświeżenie tego nie zrobiło, ale cokolwiek.
Tak Barry

0

To tutaj działa dla mnie:

# Cache the following content for 1 month (4 Weeks)
<FilesMatch "\.(jpg|jpeg|png|gif|ico)$">
Header set Cache-Control "max-age=2419200, public"
</FilesMatch>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.