una solucion navegador máxima las htaccess google fecha establecer especificar edad caducidad caché cache cabeceras aprovechar almacenamiento php .htaccess caching pagespeed

php - solucion - especificar caché de navegador



Establecer la caducidad del caché HTTP, recomendado por Google PageSpeed (2)

Ejecuté pruebas en mi sitio web usando PageSpeed ​​de Google y me recomienda que "aproveche el almacenamiento en caché del navegador" y proporcioné el siguiente recurso:

http://code.google.com/speed/page-speed/docs/caching.html#LeverageBrowserCaching

Este recurso nunca explica cómo cambiar realmente la fecha de caducidad de mis encabezados http. ¿Lo hago a través de .htaccess? Me gustaría establecer el almacenamiento en caché durante el mayor tiempo posible (sin violar la política de Google de un año como máximo).

Cualquier consejo sobre la configuración recomendada (para una comunidad personalizada de redes sociales impulsada por php) sería muy apreciado.


En el .htaccess de tu raíz:

<IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 seconds" ExpiresByType image/x-icon "access plus 2592000 seconds" ExpiresByType image/jpeg "access plus 2592000 seconds" ExpiresByType image/png "access plus 2592000 seconds" ExpiresByType image/gif "access plus 2592000 seconds" ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" ExpiresByType text/css "access plus 604800 seconds" ExpiresByType text/javascript "access plus 216000 seconds" ExpiresByType application/x-javascript "access plus 216000 seconds" ExpiresByType text/html "access plus 600 seconds" ExpiresByType application/xhtml+xml "access plus 600 seconds" </IfModule>

Y sigue por:

<IfModule mod_headers.c> <FilesMatch "//.(ico|jpe?g|png|gif|swf)$"> Header set Cache-Control "max-age=2692000, public" </FilesMatch> <FilesMatch "//.(css)$"> Header set Cache-Control "max-age=2692000, public" </FilesMatch> <FilesMatch "//.(js)$"> Header set Cache-Control "max-age=216000, private" </FilesMatch> <FilesMatch "//.(x?html?|php)$"> Header set Cache-Control "max-age=600, private, must-revalidate" </FilesMatch> Header unset ETag Header unset Last-Modified </IfModule>

Este es exactamente el mismo código que uso en cada propiedad que administro y me ofrece (y PageSpeed) los resultados más satisfactorios. Uno puede discutir sobre reglas específicas, es por eso que dije que me satisface, pero ciertamente satisface la velocidad de la página.


Se puede hacer con htaccess y php. Por lo general, no querrá forzar el almacenamiento en caché del html real ya que su contenido dinámico impulsado por la base de datos (se puede hacer con la función de header() php si es necesario). Lo que desea almacenar en caché es css y javascript externos, y archivos de imagen.

Vea aquí para una solución .htaccess: http://www.askapache.com/htaccess/apache-speed-expires.html