Qué es y cómo configurar el archivo .htaccess

A la hora de crear una página web debemos tener en cuenta algunos aspectos fundamentales. Vamos a tener que familiarizarnos con algunos conceptos que formarán parte de nuestro día a día. Para que los servidores funcionen adecuadamente es necesario tener una configuración correcta. En este artículo vamos a hablar de qué es el archivo .htaccess y cómo podemos configurarlo.

Qué es el archivo .htaccess

En primer lugar vamos a explicar qué es el archivo .htaccess. Su nombre viene de HyperText Access o Acceso de Hipertexto. Se trata de un archivo que está presente en la configuración de un servidor Apache. Viene integrado en el software.

Este archivo contiene las directivas que pueden definir cómo se comporta un servidor Apache. Sirve para limitar las acciones de un visitante que entra en ese sitio web. Permite configurarlo para indicar en todo momento qué puede y qué no alguien que entra. También podemos configurarlo para responder ante posibles errores que pueda haber con la conexión y lograr optimizar la carga de páginas de esa web.

Como vemos, es un archivo que puede ser clave para el correcto funcionamiento. Puede afectar al directorio donde esté colocado, así como los subdirectorios que pudiera haber. Únicamente va a actuar sobre ellos, por lo que lo interesante en este caso es colocarlo en el directorio principal.

Por tanto, podemos decir que un archivo .htaccess es el nombre que recibe el archivo que vamos a utilizar para la configuración de directorios en un servidor Apache. Nos permite personalizar la configuración de directivas y los diferentes parámetros definidos en él.

Vulnerabilidad en el escritorio remoto de Apache

Para qué sirve el archivo .htaccess

Hemos mencionado que el archivo .htaccess va a permitir que configuremos los directorios de un servidor Apache. Vamos a poder llevar a cabo algunas acciones de una manera sencilla y que se aplicarán en dicho directorio donde lo tengamos puesto. Vamos a ver algunos puntos a tener en cuenta.

  • Control de acceso al sitio web
  • Redirigir subdominios a subcarpetas
  • Redirigir mediante 301 o 302 (por ejemplo para entrar sin WWW)
  • Proteger el acceso a las carpetas
  • Redireccionar a una conexión segura HTTPS
  • Habilitar la protección de enlaces directos
  • Bloquear determinadas direcciones IP
  • Cambiar la zona horaria de nuestra página web
  • Evitar bots

Por ejemplo, si quisiéramos proteger el acceso a las carpetas tendríamos que agregar lo siguiente al archivo .htaccess:

#Evitar el acceso a las carpetas

deny from all

Para proteger el propio archivo .htaccess sería:

#Evitar el acceso al archivo .htaccess

<files .htaccess>

order allow,deny

deny from all

</files>

En el caso de querer bloquear usuarios o bots:

#Bloquear el acceso a determinadas direcciones IP

Order deny, allow

Allow from All

Deny from XXX.XXX.XXX.XXX

Deny from XXX.XXX.XXX.XXX

Como vemos, para poner un comentario simplemente tenemos que escribir # seguido de lo que queramos agregar.

Estos son algunos cambios y configuraciones que podemos realizar a través de un archivo .htaccess. Son simplemente algunos que hemos mencionado, pero en realidad el abanico de posibilidades es muy amplio gracias a este archivo que podemos incluir en los directorios de servidores Apache.

Cómo crear un archivo .htaccess

Crear un archivo .htaccess es muy sencillo. Vamos a tener que utilizar cualquier editor de texto o bloc de notas. Tenemos que crearlo como .txt. Hay que tener en cuenta que puede que en nuestro servidor Apache ya tengamos un archivo de este tipo, por lo que simplemente debemos modificarlo y añadir o quitar lo que nos interese.

Si no tenemos ningún archivo .htaccess en el directorio donde nos interesa, simplemente tenemos que crear uno. Como hemos mencionado, no necesitamos ningún programa especial. Solo tenemos que escribir en él los diferentes parámetros que nos interesan y guardarlo con el nombre .htaccess. No debe tener ningún tipo de extensión.

Ese archivo que hemos creado lo tenemos que subir al directorio que nos interesa en el servidor Apache. Hemos indicado que afectará también a todos los subdirectorios que haya presentes donde lo hemos puesto. De ahí que si queremos que aplique a todos ellos tendremos que ponerlo en el directorio principal.

Si tenemos algún archivo .htaccess ya en nuestro servidor, podemos descargarlo y así guardarlo como copia de seguridad en caso de tener algún problema. Una vez hayamos subido el nuevo, también podremos configurarlo a partir de ese momento desde allí, sin necesidad de tener que descargarlo.

Hay que indicar que Apache aplica las directivas por orden según las encuentra. Esto quiere decir que un archivo en un directorio va a sobrescribir otro posible archivo que tuviéramos en un subdirectorio.