Hirdetés

Új hozzászólás Aktív témák

  • Taci
    addikt

    Hozz létre egy .htaccess fájlt a webroot könyvtárban (nálad ez nyilván nem a /var/www/html könyvtár, de hogy hol van, azt csak te tudhatod. Lényegében az a könyvtár, ahol a főoldal index.html van), ha még nincs, és másold bele ezt:

    <FilesMatch "\.(html|htm|js|css|php)">
    FileETag None
    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"
    </FilesMatch>

    A legelső sorban (FilesMatch) láthatod, hogy milyen nevű, illetve milyen kiterjesztésű fájlokra fog vonatkozni ez a kódrész.

    A Header set direktíva azt eredményezi, hogy a webszerver minden egyes válaszába ezeket a fejléceket fogja belerakni.

    A Header set Cache-Control egy cacheléssel kapcsolatos fejléc, ami arra utasítja a böngészőt, hogy ne cachelje az adott oldalt. A többi (Pragma, Expires) inkább csak régebbi böngészők miatt kell.

    Javítsatok ki, ha tévedek,

    de ezzel a megoldással ezeket a fájlokat újra és újra letölti a kliens. Tehát hiába nem változtattál semmit rajtuk 1 éve, a kliensek minden alkalommal újra és újra letöltik.
    Persze ez a korlátlan adatforgalom világában már nem akkora probléma, de jó figyelni erre is.

    Itt a fórumon valamelyik topikban ajánlottá(to)k ezt a megoldást:

    <link rel="stylesheet" href="/fajlmappa/style.css?v=1.0.0">
    <script src="/fajlmappa/javascript.js?v=1.0.0"></script>
    stb.

    Ez a html kódban van, és amíg nem változtatsz a verziószámokon, nem tölti le újra, cache-ből használja, ha tudja. Ha változtatsz a fájlok tartalmán, akkor pedig itt is verziót emelsz, így a kliens az új verziót tölti le és használja.

    Hátha ez (is) hasznos lehet.

Új hozzászólás Aktív témák