Jak zamezit cachování CSS souborů
Při testování webů na mobilních zařízení mi vždy vadilo cachování mobilních zařízení, které stěžuje optimalizaci mobilní webů. Jak to tedy řešit?
.htaccess
Na webu jsem hledal mnoho možností - prvně mě napadlo to řešit to na úrovni serveru, jelikož mi tato varianta jako nejschůdnější.
<filesMatch "\.(html|htm|js|css)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>
Bohužel tento zápis nelze použit na všech hostingových serverech.
HTML
Na jednom diskuzním fóru jsem ale objevil krásné a velmi trviální, ale přesto funkční řešení. Jedná se pouze o upavený zápis vložení css souboru.
Běžný zápis
<link rel="stylesheet" type="text/css" href="/style.css" />
Autor příspěvku uvedl, že přidává časové razítko k názvu souboru
<link rel="stylesheet" type="text/css" href="/style.css?<?php echo time(); ?>" />
Díky této jednoduché úpravě nedochází ke cachování css souboru. Mě osobně se líbí varianta verzování CSS souborů, kdy pouze uvádím, o jakou verzi CSS se jedná. Zápis pak vypadá takto:
<link rel="stylesheet" type="text/css" href="/style.css?version=1.1" />
Zanechat komentář
Ujistěte se, že zadáte požadované informace, tam kde je vyznačeno (*). Kód HTML není povolen.