2009-11-05 21 views
5

Así que después de mucha ayuda e investigación FINALMENTE he podido obtener los redireccionamientos 301 trabajando a través del archivo .htaccess, pero noté que a menos que presione "actualizar" en mi navegador no redirigirá la página debido simplemente a leer el sitio en caché301 Redirigir con htaccess y caché: cómo eliminar Old Cache?

He intentado cerrar todos los navegadores, insertar el archivo .htaccess y ENTONCES abrir un nuevo navegador, pero todavía abre el sitio en caché. Me atrevería a suponer que la mayoría de los clientes no se molestarán en actualizar una página, y si no lo hacen, ¡llevará bastante tiempo descubrir que efectivamente hay una página nueva!

¿Alguna idea? ¡Gracias!

-Karl

EDIT: "! Haga clic aquí para ver nuestro nuevo sitio web" sólo tenía la idea de poner un enlace en nuestra página web actual, que dice: y el enlace refrescará la página, lo que a su vez activará la redirección 301. ¿Alguien puede pensar en algún efecto secundario negativo de esto?

Respuesta

0

Espere un momento. La mayoría de los cachés de los usuarios caducarán en un período de horas, a menos que configure el servidor para que sirva a la página con una pista de memoria caché inusualmente larga.

Si está publicando la página ahora, puede establecer encabezados para que el cliente no la guarde en caché. Ver esta pregunta para que:

What is the proper way to tell the browser not to cache?

+0

¿Hay alguna forma de comprobar cuánto durará la memoria caché? Por ejemplo, el sitio web que me interesa es www.mastercontrols.com. –

+0

Su servidor está utilizando etags para enviar un 304 no modificado después de que la página está en un caché de usuarios. Si tiene problemas de caché, intente modificar sus documentos para que su fecha de última modificación en el disco sea más reciente. –

+0

¿Entonces recomendaría simplemente entrar en cada archivo y cambiar algo pequeño y guardarlo? Además, ¿cómo descubrió que el servidor enviaba un 304? –

2

Karl,

La mejor manera que he encontrado para examinar las cabeceras de caché es el Live HTTP Headers firefox add on.

Esto es lo que dice acerca de su página de inicio:

HTTP/1.x 200 OK 
Date: Fri, 06 Nov 2009 15:16:57 GMT 
Server: Apache 
Last-Modified: Mon, 12 Oct 2009 16:52:05 GMT 
Etag: "85dcc1-1386-4ad35eb5" 
Accept-Ranges: bytes 
Content-Length: 4998 
Keep-Alive: timeout=10, max=99 
Connection: Keep-Alive 
Content-Type: text/html 

Como se mencionó anteriormente, la etag es la cuestión. Una solución rápida (unixy) podría ser: find /var/www/htdocs -type f|xargs touch, que cambiará la hora de modificación de cada archivo en su directorio www.

Sin embargo, depende de cómo esté configurada su instancia de apache para generar el valor de etag. Aquí hay un great little howto on setting up caching with Apache.

En cuanto a su sugerencia de agregar un enlace, no creo que funcione. No puede obligar a un navegador a actualizar una página de forma remota y, como se señaló anteriormente, el problema es con los etags, cuya solución no cambiará.

Dan

Cuestiones relacionadas