"Martin Larsen" <want@no.spam> skrev i en meddelelse
news:gffhfj$1e2u$1@newsbin.cybercity.dk...
> Jeg er ellers noget af en PHP haj, men det her volder mig godt nok
> problemer! Et par timers googling har endnu ikke båret frugt.
>
> Jeg har en PHP-generet CSS fil, dvs. en fil hvor indholdet tilsyneladende
> er ren CSS, men det har lige været en tur forbi serveren og modificeret
> via PHP. Det gør jeg i .htaccess, så filen udadtil stadig hedder fx
> test.css. Og altså set fra browserens synspunkt burde være som alle andre
> CSS filer.
>
> Det virker da også fortrinligt, MEN .... filen bliver ikke cached.
hmmm, det du siger er at ...
i klient-"programmet" (en html fil velsagtens) står der noget a la det her
??
<link rel="stylesheet" type="text/css" href="text.css">
Det får jo broseren til at fyre en GET request af mod din webserver .. lidt
som:
GET /text.css HTTP/1.1
host:
www.yoursite.dk
If-Modified-Since: Sat, 29 Nov 2008 19:43:31 GMT (=det tidspunkt hvor
browseren sidst fik en "ny" text.css)
(more headers here)
Nu kigger din webserver så på den request og siger til sig selv... "Hmmm,
den text.css jeg har (lige autogenereret) er jo nyere end det som ham
browser-fætteren angiver, så jeg må hellere stikke ham en ny". Det er
grunden til at den ikke caches.
Nu ved jeg ikke om din "text.css" rent faktisk kan ændre sig fra sekund til
sekund, men jeg har tidligere haft samme problem med en "liste af kunder"
drop down og her valgte jeg en lidt anden løsning. Jeg lod serveren
autogenerere en ny liste, men førend jeg skrev den ned i "text.css" så
undersøgte jeg lige om den nye liste rent faktisk var forskellig fra den
forrige - hvis ikke så blev der ikke dannet en ny fil. Hvis den var ændret
blev der dannet en ny fil, og så ville browseren selvsagt få en ny.
Carsten