cache af filer på Apache server

Tags:    apache

Når jeg laver ændring i javascript.js eller stylesheet.css og uploader dem så får brugerne jo ikke nødvendigvis de nye filerne jeg har uploadet fordi de har dem i browser cachen også kan det være hjemmesiden vises forkert og fungere forkert.

Måden jeg har løst det på er ved at omdøbe filnavnet men det er ved at være lidt kedeligt.

Hvordan gør jeg det med en .htaccess fil eller noget i den stil så jeg kan bestemme at filerne skal hentes igen så brugerne får de nye data ?



4 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Det eneste du kan ændre i htaccess, er i princippet hvor længe browseren må have filen i cache. Da der normalt ikke ændres ofte i en JavaScript fil er det logisk at den må ligge i cachen 3+ dage.

Du kan, som mange gør, tilføje ?v=1 for enden af filen. Derved er du ikke tvunget til at ændre filnavnet. Den løsning kan du så udvide til at bruge "last modified" tidsstempel og så er du kørende med fuld automatik. Altså erstatte 1, 2, osv. med filemtime($path)



Indlæg senest redigeret d. 15.11.2012 10:22 af Bruger #10216
Jeg vil hellere gøre det rigtigt nu i stedet for det her med at ændre en tal ved hver ændring.



Begge løsninger er lige rigtige. Men hver løsning har deres begrænsning:
- Piller du ved cachen, og derved tvinger browseren til at hente .js filer hele tiden, laver du unødig loading tid.
- Bruger du .js filer med nyt fil navn, eller tilføjer ?v=x parameter, og glemmer at ændre det, så har du også en udfordring.



Det er heller ikke meningen at filerne skal hentes hver gang.

Men for eksempel hvis der er forskel på filernes dato/tid/størrelse hvis man kan lave det sådan.



t