Script php: Evitare il caricamento delle immagini da cache con htaccess

   difficoltà:  script script script script script

Script simili
16/9/2008


Capita spesso di dover caricare delle immagini da pannello di controllo che andranno a sovrascrivere vecchie immagini sul server.
Avendo però lo stesso nome la maggior parte dei browser andrà a caricare l'immagine dalla cache, poichè penserà che sia la stessa già caricata in precedenza, con il problema di visualizzare vecchie immagini al posto delle nuove aggiornate.
Come risolvere questo problema? Napolux propone di aggiungere una variabile timestamp all'immagine in modo tale da far credere al browser di caricare ogni volta un'immagine diversa.
Ad esempio:

<img src="immagine.jpg?<?=time()?>">

Ottima soluzione che anch'io ho spesso utilizzato.

Voglio però proporre un'altra soluzione. Possiamo forzare il caricamento delle immagini(o anche di altri tipi di file) inserendo nell' .htaccess le seguenti righe:
<FilesMatch "\.(jpg)$">
Header set Cache-Control "max-age=1, private, proxy-revalidate"
</FilesMatch>

max-age sono i secondi dopo cui l'immagine in cache deve essere considerata 'vecchia'.

Se vogliamo includere più estensioni:
<FilesMatch "\.(jpg|jpeg|gif|png)$">
Header set Cache-Control "max-age=1, private, proxy-revalidate"
</FilesMatch>
La cosa utile è che inserendo il file .htaccess in una singola cartella potremo forzare il solo caricameto exnovo dei file contenuti in essa, mentre gli altri utilizzeranno il normale sistema di cache




Commenti


  Fabio

20/2/2010 17:46:53

Ottimo, è possibile ottenere lo stesso risultato anche per i testi?



Lascia un commento


Codice di controllo*:
Nome*:
Email/Link:
Testo*:
 
I campi contrassegnati con * sono obbligatori.