Cómo hacer que Firefox, no almacena en caché mi página web
-
25-09-2019 - |
Pregunta
Tengo esta página, vamos a llamarlo index.php
index.php
tiene una lista de usuarios y un botón de usuario de eliminación. Que les llevará a removeUser.php
Y la última línea de removeUser.php
es volver a index.php
Pero en Firefox, todavía se ve el mismo, un usuario normal no saber cómo hacer un disco de actualización o borrar la memoria caché cada vez que se carga la página manualmente.
He tratado
CACHE-CONTROL NO-CACHE,NO-STORE
y
PRAGMA NO-CACHE,NO-STORE
Yo incluso intentado fijar EXPIRY 0
en las etiquetas META, ninguno de estos ayuda. A pesar de que todo funciona perfectamente en Chrome y otros navegadores, es sólo para Firefox que tiene este problema.
Estos son mis cabeceras, solicitados por @alex
http://localhost/xChange/home.php
GET /xChange/home.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://localhost/xChange/home.php
Cookie: laobgcidne=yes; eambacidle=inaresh.online@gmail.com
Cache-Control: max-age=0
HTTP/1.1 200 OK
Date: Fri, 10 Dec 2010 08:28:25 GMT
Server: Apache/2.2.11 (Win32) PHP/5.3.0
X-Powered-By: PHP/5.3.0
Cache-Control: no-cache, must-revalidate
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Content-Length: 6130
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
Solución
Enviar un expira cabecera para una fecha en el pasado.
Ejemplo
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
Fuente .
Actualizar
Sus cabeceras se ven bastante bien. No sé lo que está haciendo Firefox.
Se puede hacer esto en el enlace, para asegurarse de que siempre se descarga una copia fresca.
<?php $link = 'home.php'; ?>
<a href="<?php echo $link . '?m=' . filemtime($link); ?>">Home</a>
Otros consejos
-
En primer lugar tal vez su resumen
curl --head index.php
podría ayudarnos. -
Esto explica el almacenamiento en caché en detalle: http://www.mozilla.org/projects/netlib/http /http-caching-faq.html .
-
uso http://nl.php.net/manual/en/function.header.php a las cabeceras configuradas.
-
También tienen vistazo a
Etag, If-None-Match, Last-Modified, if-modified-since
-
O si realmente no le funciona podría timestamp sus URL
index.php?<?= echo time(); ?>
Sólo tiene que pulsar Ctrl + F5 para actualización duro en la página del navegador que elimina la caché de la página actual y cargar la nueva página Editado