El fichero .htaccess ¿Qué es?

Si alguna vez habéis accedido a vuestro servidor mediante algún cliente FTP seguramente habréis visto un fichero con el nombre .htaccess. ¡Buena señal! El servidor que tenéis es Apache.

A este fichero se le conoce también como hypertext access y es un fichero especial usado por este servidor para configurar cada directorio sin pasar por la configuración general de Apache. Con el fichero .htaccess se tiene un control casi total sobre los directorios pudiendo:

  • Dirigir subdominios a carpetas concretas.
  • Hacer redirecciones web, por ejemplo las 301 tan usadas en SEO.
  • Controlar el acceso a los directorios o al sitio web.
  • Hacer reescrituras de URL, también muy útil para el SEO, para crear URLs amigables.
  • Podemos configurar el cacheo de contenido.
  • Forzar el dominio sin www.
  • Y muchas, muchas, muchas cosas más.

Por ejemplo, con el siguiente código en el htaccess indicamos al servidor qué fichero queremos que cargue antes por defecto.

DirectoryIndex index.html index.cgi index.php

Por defecto primero cargará index.html, si no se encuentra cargará index.cgi y si no lo hace lo hará con index.php

Otra opción que tenemos es la de evitar hotlinking, es decir, podemos evitar que desde otras páginas nos enlacen directamente recursos de nuestro sitio, esto significa que evitaremos que carguen imágenes, por ejemplo, en su código evitando así consumo de ancho de banda de nuestro servidor.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.yourdomain.com/hotlink.jpg [R,L]

Algo más importante y que hacemos en todos nuestros sitios web para mejorar la velocidad de la web es jugar con la caché del navegador, además es una recomendación que PageSpeed de Google hace casi siempre.

En este pequeño ejemplo se establece el tiempo de cacheo para ficheros multimedia.

ExpiresByType image/gif                 "access plus 1 month"
ExpiresByType image/png                 "access plus 1 month"
ExpiresByType image/jpeg                "access plus 1 month"
ExpiresByType video/ogg                 "access plus 1 month"
ExpiresByType audio/ogg                 "access plus 1 month"
ExpiresByType video/mp4                 "access plus 1 month"
ExpiresByType video/webm                "access plus 1 month"

Por no hablar de la compresión GZIP, otra opción que habilitamos en las webs que hacemos para que el contenido se sirva comprimido y tarde menos en cargar.

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

Como podéis ver las opciones son infinitas y para que podáis aprender más te dejo con la página oficial del servidor Apache donde se explica mucho sobre este tema.

 

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ir arriba