Background-image a mod_expires v MSIE podruhé

MyEgo.cz

home foto blogy mywindows.cz kontakt

Background-image a mod_expires v MSIE podruhé

Když jsem včera zveřejnil návod na odstranění problikávání obrázků v MSIE, neuvědomil jsem si, že originální postup má jednu závažnou vadu. Podívejte se na to znovu:

ExpiresActive On
ExpiresDefault A18000
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000

Problém je v tom, že vše bude cachováno po dobu 18.000 sekund, tedy 5 hodin. A to pro rychle měnící se weby rozhodně není košer. Možnosti jsou dvě, buď snížit ExpiresDefault z 5 hodin na třeba 1 minutu, popřípadě mod_expires zapnout v .htaccess jen pro potřebné věci, tedy obrázky, a případně CSS a JavaScript.

V tomto druhém případě jsem nastavil cache pro obrázky na 1 měsíc a CSS a JavaScript na 6 měsíců, zbytek není cacheován (respektive, je to ponecháno na nastavení browseru):

# set expires for images
<FilesMatch "\.(gif|jpeg|jpg|png)$">
	ExpiresActive On
	ExpiresDefault A2592000
</FilesMatch>

# set expires for CSS and JavaScript
<FilesMatch "\.(js|css)$">
	ExpiresActive On
	ExpiresDefault A15552000
</FilesMatch>

# do not steal images
SetEnvIfNoCase Referer "^http://hulan\.cz/" local_ref=1
<FilesMatch "\.(gif|jpeg|jpg|png)$">
	Order Allow,Deny
	Allow from env=local_ref
</FilesMatch>

Toto řešení bude, na rozdíl od originálního, fungovat přesně tak, jak potřebujeme. Ve skriptu je doplněna i ochrana proti „kradení obrázků“ (linkování z cizích webů).


Komentáře

  1. 1 halogan 12.10.05, 20:55:20
    FB

    A co images.google.com?

  2. 2 Frettie 12.10.05, 22:20:17
    FB

    zajímavá otázka ... jak na to budou reagovat indexovací stroje? :)

  3. 3 Roman 13.10.05, 08:40:14
    FB

    To je odchutávanie refferera. Indexovacie stroje to bez problémov zaindexujú, pretože ako referera (predpokladám) správne vkladajú url (pod)stránky na ktorej sa nachádzajú. Iné bude keď na obr. v google images bude odkaz. V tom prípade refferer bude google a to už nepustí.

  4. 4 kruxi 07.11.05, 22:50:29
    FB

    Zajímalo by mně také, jestli intervaly 1 resp. 6 měsíců nejsou značně přehnané? Když mám obrázek, který se třeba za týden změní, tak je to problém, pokud mu zástane stejný název... Mám pravdu? Ještě horší situaci vidím u CSS, které se u udržovaného webu celkem často mění...

  5. 5 kruxi 08.11.05, 18:33:41
    FB

    Ještě pro ty, které by to mohlo zajímat. Výše popsaný problém chyby MSIE 6 je bohužel zřejmě závislý také na operačním systému. Na XP/MSIE6 popsané řešení funguje, na 98/MSIE6 ne - zde obrázky i nadále blikají. Jak je tomu např. u w2k/MSIE6 bohužel nevím.

Nový komentář

Pro přidání komentáře se musíte nejdříve  registrovat Facebookem

Banan.cz