Quizás hayas oído ya hablar sobre este término, pero no termines de entender en profundidad qué es .htaccess y cuáles son las funcionalidades que permite en sitios web de toda índole.
Aunque la llegada de sistemas de gestión de contenidos [CMS] como WordPress o Prestashop ha facilitado mucho la tarea de creación de sitios online, si de verdad quieres convertirte en un webmaster polivalente, deberás tener ciertas nociones sobre programación en CSS y servidores web.
Especialmente de cara a mantener tu sitio sano y salvo de ciberataques.
Pero no te preocupes, en este artículo aprenderás qué significa .htaccess, cómo funciona este archivo, además de algunos trucos muy útiles que, valiéndose del .htaccess, te aportarán funcionalidades realmente interesantes. ¡Comenzamos! 👇
Contents
· ¿Qué es el archivo .htaccess?
El archivo .htaccess es la abreviación de «HyperText Access»,o lo que es equivalente a «acceso de hipertexto». Básicamente, se trata de un archivo de configuración que contiene ciertas directivas u órdenes para definir el comportamiento de un software.
En este caso, se trata del software de servidor Apache.
Las tareas principales de este archivo .htaccess son tres:
- Indicarle en todo momento qué tiene permitido hacer y qué tiene prohibido llevar a cabo el usuario que visita tu web.
- Crear un protocolo estándar de comportamiento del servidor ante posibles fallos de conexión u otros problemas.
- Mejorar la velocidad de carga de la páginas de tu blog.
👉 En realidad, este archivo, que como verás más adelante no llega al kb [KiloByte] de peso, puede ser clave para llevar a cabo muchas funciones en el servidor de tu página web.
❌ Lo que también esconde una serie de riesgos, de los que debes ser consciente en todo momento, para no comprometer información confidencial de tu sitio.
¡Los descubrirás pronto!
· ¿Cómo funciona el .htaccess?
Como hemos acabamos de ver, el .htaccess se encarga de dar las órdenes al servidor Apache de tu página web. Básicamente, lo que en este documento quede reflejado, será ejecutado por el software del servidor.
💡 Por otra parte, también debes saber que, dependiendo de la ubicación en la que insertes el htaccess, podrás modificar una parte [directorio] concreta o todo el sitio en su conjunto.
Te pongo dos ejemplos:
- Archivo .htaccess insertado en el directorio raíz de la página web –> Las instrucciones serán aplicadas a toda la web
- Archivo .htaccess insertado en una carpeta específica de tu web –> Las directrices solo se van a aplicar al contenido de esa carpeta,así como las subcarpetas que estén alojadas en el mismo.
Antes de comenzar a explicar cómo funciona htaccess, debemos realizar una pequeña aclaración sobre el servidor Apache.
✔️ Apache es un software que se encarga de «servir» o mostrar la información alojada en unas carpetas y ponerlas a disposición de cualquier usuario en línea.
Una vez matizado este dato, pasemos a conocer el funcionamiento del archivo de acceso de hipertexto.
Básicamente, cada vez que un internauta entra a tu página, el servidor Apache, instalado en tu servidor web, lo dirige a la página de inicio que hayas indicado en el mismo. Sencillo.
❌ Si existiese algún error en el servidor, como un archivo dañado, Apache volvería a consultar el .htaccess y redirigiría al usuario a una página con código de error 404. Porque esta es la directriz que se le ha dado desde este documento.
📝 En definitiva, el servidor sigue una serie de protocolos en base a unas directrices marcadas por el archivo .htaccess y en función de la respuesta dirige hacia un sitio u otro a los navegantes de tu web.
Interesante, ¿verdad?
· Funcionalidades interesantes
Como has visto, con .htaccess podemos hacer que el servidor «redirija» el tráfico hacia prácticamente cualquier punto que nosotros le pidamos.
Por esta razón, también es posible valernos de este archivo para las siguientes tareas:
- Protección personalizada – Restringir acceso a determinados directorios de la web o bloquear determinadas IPs.
- Redirigir códigos de Erorr – Mandar el tráfico que ha acabado en una página no encontrada [404] a una pantalla personalizada
- Reducir el tiempo de carga – Ordenando al servidor qué cargar primero o cómo debe hacerlo.
- Organizar el tráfico de forma más eficiente – Permite enviar usuarios de forma automática desde subdominios alojados en la página web a determinados directorios, de forma mucho más sencilla y efectiva. Permitiendo jugar como si se tratase de varias webs independientes.
Te dejaremos los mejores comandos para que tú también puedas llevar a cabo estas funciones en tu .htaccess, pero antes de que realices ningún cambio en tu sitio online, debemos hacer una gran advertencia.
❌ Aviso Importante
Al acceder al archivo .htaccess estás entrando al corazón de tu sitio online. Y como si se tratase de una operación a corazón abierto, los riesgos son muy elevados.
Sin rodeos, cualquier fallo al introducir los comandos en los archivos .htaccess, van a provocar que el servidor Apache no sea capaz de entenderlos y tu web deje de funcionar.
⚡ En este caso, el servidor software, no va a ser capaz de desplegar ninguna información puesto que la que le has proporcionado es errónea. Corres el riesgo de perder toda la información de tu sitio online.
Eso sí, ahora vienen las buenas noticias.
👉 Puedes realizar copias de seguridad de todas las carpetas de tu sitio web, también de los .htaccess originales, para , en caso de error inesperado, poder restaurarla y hacer que tu web luzca exactamente igual que antes.
No solo puedes, sino que debes. Y también asegurarte que esas copias están realizadas de forma correcta.
💡 En numerosas ocasiones creemos que los backups se están realizando en orden, pero cuando la web realmente falla, y vamos a acceder a ellos, nos damos cuenta de que también contienen fallos y no tenemos acceso a la información anterior.
Por tanto, siempre con protección, siempre con copia de seguridad y siempre con comprobación de la misma.
Mejorar la seguridad de tu sitio web desde el .htaccess
La primera área en la que el htaccess puede ayudarte es la de ciberseguridad. Para los más novatos, recomendamos leer primero esta completa guía sobre seguridad para WordPress.
Hoy en día, una simple página web puede albergar un negocio que genere miles de euros, por lo que, al igual que protegerías tu casa o tienda física, la web es un elemento que debes cuidar.
Y gracias al enorme control que tiene el fichero .htaccess sobre el servidor Apache, podrás modificar diversos parámetros para que este actúe de la forma más segura posible.
A continuación, te dejamos algunas de las mejores prácticas con sus comandos .htaccess correspondientes para que mejores la protección de tu sitio online.
⫸ Blindar el propio archivo .htaccess
Si no quieres que ningún intruso pueda modificar tu archivo .htaccess, deberás insertar este comando que activa la protección del mismo.
Nadie más podrá acceder a los archivos del mismo. Simplemente cópialo y pégalo tal cual se encuentra a continuación:
<files .htaccess>
order allow,deny
deny from all
</files>
⫸ Bloquear accesos a directorios web
Un uso también muy extendido de este archivo de acceso de hipertexto es el de bloquear el acceso a ciertos directorios de la página web, o a todo el sitio en su conjunto.
👉 También puedes hacerlo para ciertos tipos de usuarios concretos, a los que el servidor no le dejará disfrutar del contenido y le aparecerá un mensaje de error u otra configuración personalizada.
deny from all
⫸ Evitar y bloquear bots desde .htaccess
Otro de los usos más extendidos es el de gestionar las diferentes opciones de acceso a tu sitio online.
👉 Es decir, que si el servidor detecta una actividad o IP sospechosa, que está saturando el sistema, puedes bloquear de forma automática dicha IP y proteger al sistema para que no colapse.
Esta es la forma en la que se comportan los bots de spam, por lo que con el siguiente comando, podrás combatirlos de forma 100% automática. Cambia las XXX por la dirección IP concreta que te gustaría bloquear. En internet encontrarás listados de IPs maliciosas:
Order deny, allow
Allow from All
Deny from XXX.XXX.XXX.XXX
Deny from XXX.XXX.XXX.XXX
⫸ Combate el Hotlinking
La técnica del Hotlink es ampliamente conocida en el mundo Black Hat SEO y, básicamente, consiste en que una web externa muestra un vídeo o foto que se encuentra alojada en tu servido.
Para el usuario del otro sitio online, será un recurso original de esta página, pero en realidad está accediendo a tu servidor para consumirla, por lo que está ocupando en tu propio servidor. A riesgo de colapsarlo.
👉 Están aprovechándose de tus recursos de forma totalmente gratuita. Para evitarlo, copia este comando de .htaccess en tu archivo:
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?tudominio\.com/.*$ [NC]
RewriteRule .*\.(jpg|gif|bmp|png|mp4)$ [L]
✔️ En última línea podrás introducir tantos formatos de foto, audio y vídeo que quieras.
Hacer distintos tipos de redirecciones desde el htaccess
Entre todo el abanico de configuraciones que puedes realizar en el servidor Apache, también se encuentra, como no podía ser de otra forma, la redirección del tráfico de todo el sitio o de un determinado directorio hacia ciertas partes de la web.
Estas funcionalidades quizás te ayuden a mejorar tu sitio online.
⫸ Pasar de dominio con WWW a uno sin WWW
El siguiente comando para htaccess que te traemos es utilizado para que abandones definitivamente tu antiguo dominio que comienza por www y pases a uno sin estas iniciales.
También podrías llevar a cabo este proceso mediante una redirección 301, pero las probabilidades de que generes confusiones y que no sea implantada en todos los sitios de la web es mucho más alta.
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^www\.tudominio\.com$ [NC]
RewriteRule ^(.*)$ http://tudominio.com/$1 [R=301,L]
⫸ Redirigir tráfico de tu antigua web a la nueva
Mediante este archivo de acceso de hipertexto, también podrás enviar todo el tráfico entrante de tu antigua web a la nueva.
✔️ Tan sólo deberás pegar el siguiente comando en el .htaccess de tu antiguo sitio online:
RewriteEngine On
RewriteRule ^(.*)$ http://tunuevodominio.es/$1 [R=301,L]
⫸ Páginas de error 404 personalizadas
Seguro que tú también estás harto de las aburridas páginas que aparecen cuando salta un código de error 404. Una URL rota o con archivos defectuosos que la impiden mostrarse con normalidad.
❌ Si quieres que cada vez que salte este error en tu sitio, tu página web muestre tu página 404 personalizada, deberás darle la instrucción desde el .htaccess.
Incluye el archivo .html de tu página en los ficheros la siguiente ruta > errores y pega este código apuntando a la página personalizada con el nombre que tú hayas elegido.
ErrorDocument 404 /errores/tupágina404.html
Optimizar y aumentar la velocidad de tu web
La última serie de comandos tiene como objetivo hacer que tu página cargue de forma más rápida y fluida. Y es que este hecho, como ya podrás imaginar, dependen, en gran medida, el propio servidor web de la página y su configuración.
✔️ Sin más dilación, te dejo con algunos trucos interesantes que aplicar con tu .htaccess.
⫸ Comprimir archivos web
Todo lo que sea aligerar el peso y carga del servidor web se traducirá en una mejora del rendimiento y velocidad del mismo.
📝 Por otra parte, si tienes en cuenta que la mayoría de usuarios que accederán a tu web lo harán desde el teléfono móvil, con datos limitados, esta optimización se hace aún si cabe más necesaria.
El siguiente comando te permitirá comprimir los archivos que componen tu sitio web con el objetivo de que consuman menos recursos durante su carga.
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
💡 Podrás añadir tantos formatos como consideres oportunos. Eso sí, ten lista la copia de seguridad por si acaso alguno deja de funcionar correctamente.
⫸ Activa la caché de las imágenes
Nuestro último comando está especialmente pensado para aquellos sitios que disponen de muchas fotos y vídeos, en los que su servidor web no trabaje de forma muy fluida.
👉 Tu solución pasa por conseguir que el navegador de tus visitantes guarde una caché de estos recursos gráficos y, la próxima que te visite, la carga de imágenes será mucho más rápida.
<FilesMatch "\.(ico|jpg|jpeg|png|gif)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
💡 Con la nueva Ley General de Protección de Datos, cualquier sitio web que realice prácticas de almacenamiento de la caché de los usuarios debe notificarlos a los mismos y que sean estos, quienes acepten esta práctica. Por lo que te recomendamos que te informes en profundidad sobre este aspecto.
Y hasta aquí ha llegado el artículo sobre qué es .htaccess y que puede aportar en tu sitio web. Realmente se trata de un aspecto muy técnico que no recomendamos a ningún webmaster amateur. Si necesitas ayuda profesional con la gestión de tus archivos y servidor web, no dudes en ponerte en contacto con nosotros.