En muchas ocasiones los desarrolladores web no disponen de servidores dedicados sino que sólo tienen acceso a su propia cuenta a través de FTP o similar. Es por esto que estaría bien preparar un fichero de configuración que ya esté configurado a la hora de desarrollar un sitio…
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)\.(\d+)(_m_\d+)?\.([^\.]+)$ $1.$4 [L,QSA]
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/vnd.microsoft.icon "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/x-javascript "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
</IfModule>
¿Qué significa cada una de estas cosas?
El primero bloque, el del mod_deflate básicamente lo que hace es activar el GZip. las otras líneas que hay son excepciones que en algunos navegadores no acaba de funcionar correctamente.
El tercer bloque, mod_expires lo que hace es automatizar el sistema de caché automático del Apache. En este caso, imágenes como PNG, JPG, GIF, ICO, CSS y JS quedarán cacheadas durante 1 año.
El segundo bloque (que lo he dejado al final por una razón) es la que va a permitir evitar que la caché no se pueda actualizar. ¿Y cómo se va a poder hacer esto? Pues está claro que, si alguien entra en tu sitio y le dices que una imagen se quede 1 año cacheada, y la cambias, esa persona durante un año no va a ver la imagen correcta. un caso donde se ve todo mejor es el CSS y JS.
Para eso podemos ejecutar algo como esto:
<link rel="stylesheet" href="estilos.20100529.css">
La línea del .htaccess lo que viene a decir es que cuando esto pase, realmente se ha de llamar al fichero estilos.css.
Deja una respuesta