Ako donútiť prehliadač aby si obnovil linkovaný CSS súbor

Situácia je jasná: mám v dokumentoch linkovaný súbor CSS. Je to statický súbor a je to tak práve preto, aby si ho prehliadače stiahli a pri neskorších návštevách použili jeho kópiu zo svojej lokálnej cache.
Lenže postačí mať potrebu niečo v CSS súbore zmeniť a už sú tu problémy. Niekoľko dní ľudia vidia pôvodnú verziu. Pre operatívne opravy, zmeny je takéto niečo neprípustné.
Viem si predstaviť niekoľko riešení takéhoto problému ale pýtam sa, ktoré je najbezproblémovejšie zo všetkých uhlov pohľadu:
* „verziovanie“: názov súboru s CSS bude obsahovať meniteľné číslo verzie a v HTML kóde sa to bude príslušne meniť,
* „dynamicky“ generované CSS: miesto lokálneho statického súboru bude CSS generovať PHP/perl skript a posielať ho prehliadačom,
* „rozdeľ a panuj“: rozdelím CSS na viac súborov pričom statickejšie veci budú v statických súboroch ale to, čo sa mení pričasto, prejde na niektorý z prvých spôsobov,
* „webserver“: nastavenie servera by mohlo zamedziť tomu aby si prehliadače CSS ukladali do cache – to je ale nepríjemné riešenie, dá sa nastaviť aby si „po zmene“ nejako vynútil webserver nové stiahnutie CSS súboru?
Toto je praktická otázka, čiže sú vítané konkrétne riešenia bez toho aby som musel RTFM :-)
Hej. Čo som to za webmastra, keď takéto triviality neovládam :-) Ironiu a invektívy sme už vybavili, tak sa na tom v komentároch neodbavujte :-)

Môže sa Vám ešte páčiť...

8 komentárov

  1. jules píše:

    ak by som to už mal riešiť, riešil by som to takto:
    http://spravodaj.madaj.net/layout-2007/spravodaj-screen.css?123123124
    čiže na konci odkazu by som zmenil číslo po vyzraznej editacii css suboru a prehliadač by to chapal ako novy subor…..

  2. tiso píše:

    src=“style.css?t=123456″
    Proste pokiaľ bol css súbor zmenený počas posledných x hodín (ja mám nastavené 2 dni, dá sa natrvalo…), tak ku linku generujem ešte parameter t ktorý obsahuje timestamp poslednej zmeny súboru. Ešte som netestoval ako je to s funkčnosť tohto riešenia, mám obmedzené testovacie možnosti. Pekné riešenie, nie?

  3. jklmn píše:

    ja to riesim rovno takto
    “ type=“text/css“ rel=“stylesheet“ media=“all“>

  4. jklmn píše:

    ja to riesim rovno takto (nahradil som zobaky zatvorkami [])
    [link href=“style.css?[?=filemtime(„style.css“);?]“ type=“text/css“ rel=“stylesheet“ media=“all“]

  5. rony píše:

    [1] hej, to je technicky najjednoduchsie. Teraz uz len dufat, ze prehliadace to urcite chapu ako novy subor :-)
    [2] ano, podobne ako v [1]
    [3] nezozral kus kodu moj komentovaci system?

  6. rony píše:

    [4] ano, to je fikane riesenie a hlavne bezobsluzne :) zrejme toto pouzijem :) diky!

  7. pmasarik píše:

    [5] neboj je to odskúšané a prehliadače to chápu ako iný súbor, tiež to používam.

  8. jancek píše:

    diki toto pomohlo aj mne