[SOLUZIONE] Sito autoaggiornate e pulizia cache
Inviato: 14 set 2016, 15:47
PROBLEMA: MOLTE VOLTE, pur aggiornando il sito, porta alcuni dati/elementi ancora "vecchi".
Tale problema è ovviabile pulendo la cache di internet (control shift canc, svuota cache) oppure utilizzando piccoli accorgimenti che POTREBBERO risolvere spesso il problema in automatico.
l'ottimo FRBIAG ha postato questo codice.
Come esempio nella pagina della classifica. Ora, quello che mi chiedo io è:
per metterlo ad esempio nel calendario, va cambiato solo il nome nel JS? VOLENDO inserire un codice simile nella pagina index.htm o corpocentrale.php come s fa? Occorre inserire semplicemente il nome del file?
Aggiungo elementi alla discussione (così la portiamo sul forum nuovo).
RBAGGIO FOREVER successivamente afferma che "Questo metodo è efficace (funziona sicuramente) ma non efficiente (ricarica ogni volta i file js). Per farli ricaricare solo quando sono stati effettivamente modificati basta usare questo codice se la pagina è php:
quale dei due usate? per la seconda opinione, va cambiato anche lì SOLO il nome del JS?
OLUZIONE DI NYM (che uso io e mi funziona)
In giro per internet ho trovato una possibile soluzione, per coloro che hanno un hosting basato su apache è possibile fare la seguente modifica:
creare un file nella root del sito nominato .htaccess
nel file scrivere le seguenti righe:
ExpiresActive on
ExpiresDefault A60
Alcuni provider possono non aver attivo il modulo che gestisce questi comandi per cui potrebbe sparare un errore e non risolvere un accidente, in questo caso cancellate .htaccess e considerate una soluzione più complessa: mettere in ogni pagina htm o php
UN'ULTIMA SOLUZIONE, quella che uso io.
Sotto HEAD mettere sempre:
Tale problema è ovviabile pulendo la cache di internet (control shift canc, svuota cache) oppure utilizzando piccoli accorgimenti che POTREBBERO risolvere spesso il problema in automatico.
l'ottimo FRBIAG ha postato questo codice.
Codice: Seleziona tutto
<head>
......
<script language="JavaScript" type="text/javascript">
var ran = Math.round(Math.random()*10000000);
document.write('<script src="js/fcmClassificaDati.js?'+ran+'" type="text/javascript"></scr'+'ipt>')
</script>
......
</head>
per metterlo ad esempio nel calendario, va cambiato solo il nome nel JS? VOLENDO inserire un codice simile nella pagina index.htm o corpocentrale.php come s fa? Occorre inserire semplicemente il nome del file?
Aggiungo elementi alla discussione (così la portiamo sul forum nuovo).
RBAGGIO FOREVER successivamente afferma che "Questo metodo è efficace (funziona sicuramente) ma non efficiente (ricarica ogni volta i file js). Per farli ricaricare solo quando sono stati effettivamente modificati basta usare questo codice se la pagina è php:
Codice: Seleziona tutto
<script src="js/fcmCalendarioDati.js<?php echo "?".filemtime("js/fcmCalendarioDati.js"); ?>" type="text/javascript"></script>
OLUZIONE DI NYM (che uso io e mi funziona)
In giro per internet ho trovato una possibile soluzione, per coloro che hanno un hosting basato su apache è possibile fare la seguente modifica:
creare un file nella root del sito nominato .htaccess
nel file scrivere le seguenti righe:
ExpiresActive on
ExpiresDefault A60
Alcuni provider possono non aver attivo il modulo che gestisce questi comandi per cui potrebbe sparare un errore e non risolvere un accidente, in questo caso cancellate .htaccess e considerate una soluzione più complessa: mettere in ogni pagina htm o php
Codice: Seleziona tutto
<meta http-equiv="Cache-control" content="no-cache" />
<meta name="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
Sotto HEAD mettere sempre:
Codice: Seleziona tutto
<meta http-equiv="Cache-control" content="no-cache" />
<meta name="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
<META HTTP-EQUIV=”Refresh” CONTENT=”5; url=http://TUOSITO.altervista.org/TUAPAGINA.htm”>