Htaccess expire za dinamične in statične slike

Kako imate ostali urejeno Expires Headers v .htaccessu?

Namreč na strani imam seveda ogromno statičnih slik (fotografij), ki se seveda nikoli ne spremenijo, zato ni problema nastavit expire date za cca 1 leto.

Vendar pa se tukaj pojavi problem pri recimo avatarjih, ki pa jih uporabniki lahko spremenijo poljubno. V tem primeru bi lahko nastavil čas, recimo 1 dan, vendar bom kmalu dobil vprašanja zakaj se njihov avatar ni spremenil. Seveda je zamudno vsakemu posebej razlagat, da se bo ta osvežil, če stisne CTRL + F5.

Verjetno bi bila boljša rešitev, da se ime datoteke avatarja spremeni, ko uporabnik ponovno naloži novo fotografije, ampak ne bi rad spreminjal koncepta, kjer je ime vezano na id uporabnika.

Ima mogoče kdo kakšno drugo idejo?

6 odgovorov

Kaj če daš samo en rand na koncu poti za sliko :D

http://img.slo-foto.net/avatars/users/3871.jpg?rand=123111

Potem je bolje, da expire časa sploh ne omogočim, saj bo učinek isti, ker se bo slika ponovno naložila iz direktno iz strežnika.

za avatarje lahko komot pustis expire in pustis browserjem handling cachiranje, sploh pa ker gre za majhne slicie

Ali pa uporabiš FilesMatch za avatars/users, kjer daš potem nižji expire header ...

Nisem se nekaj ornk poglobu kako ta expire dejansko dela, ampak ali ni ravno point tega, da se ne delajo zahtevki na strežnik? Recimo v konkretnem primeru, ko ima ena fotografija npr. 50 komentarjev. Če ni nastavljen expire, se bo izvedlo 50 poizvedb na strežnik, kar vse skupaj le dodatno obremeni? Ali se kljub nastavljenem "expire" pošlje zahtevek strežniku, ta pa sporoči brskalniku, da to sliko ni potrebno prenašati na računalnik, saj se od zadnjega obiska ni spremenila.

@carli to sem prej naredil ja. V direktorij kjer se nahajajo avatarji sem dodal novo htaccess datoteko, ki ima nastavljen nižji expire header, kot ostale slike. Mogoče bom samo še malo znižal header expire date na kakšno uro...