2009-06-24 18 views

Respuesta

100

Hay dos maneras de hacer esto. El primero es especificar el encabezado en su código php. Esto es genial si quiere ajustar programáticamente el tiempo de caducidad. Por ejemplo, un wiki podría establecer un tiempo de expiración más largo para una página que no se edita con mucha frecuencia.

header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + (60 * 60))); // 1 hour 

Su segunda opción es crear un archivo .htaccess o modificar su configuración httpd. En un entorno de alojamiento compartido, la modificación de su archivo .htaccess es bastante común. Para hacer esto, necesita saber si su servidor admite mod_expires, mod_headers o ambos. La forma más fácil es simplemente de prueba y error, pero algunos servidores Apache están configurados para permitirle ver esta información a través de la página/server-info. Si el servidor tiene dos mod_expires y mod_headers, y desea establecer la caducidad de recursos estáticos, trate de poner esto en su archivo .htaccess:

# Turn on Expires and set default to 0 
ExpiresActive On 
ExpiresDefault A0 

# Set up caching on media files for 1 year (forever?) 
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$"> 
ExpiresDefault A29030400 
Header append Cache-Control "public" 
</FilesMatch> 

Para otras combinaciones y ver más ejemplos: http://www.askapache.com/htaccess/speed-up-your-site-with-caching-and-cache-control.html

+0

Así que estoy en lo cierto al pensar que .flv, .ico etc. tendrá automáticamente los encabezados correctos antes de ellos? muy bueno – Tom

+3

Encabezado anexar Cache-Control "public" => Esta línea me da un error interno de 500 servidores. – noobcode

+0

@noobcode Tengo exactamente el mismo problema. ¿Cómo resolviste esto por favor? – Houman

1

¿Probaste algo así?

<?php 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); 
?> 
+2

Lo que hace ¿esto significa? –

Cuestiones relacionadas