.htaccess es un archivo de configuración que se encuentra en el servidor web Apache. Es decir, el servidor Apache se comportará de una u otra forma en función de cómo hayamos definido el archivo .htaccess de nuestra plataforma web. Cuando uno de estos archivos se coloca en un directorio que depende de Apache, el .htaccess se detecta y es ejecutado por el software de este servidor.
Este tipo de archivos los usamos para modificar la configuración del servidor y permitir (o restringir), de esta forma, funcionalidades adicionales de Apache. Un ejemplo sería que podemos redireccionar la funcionalidad, reescribir la URL o hasta personalizar el error de tipo “404 file not found”. También ofrece prestaciones relacionadas con la protección de contraseñas, con los cambios de zona horaria, la restricción de ciertas IP, y otras cosas.
Cómo crear un archivo .htaccess
¡Aquí hay que prestar atención! Empezaremos por hacer una copia de seguridad de todos los directorios de nuestra página web —incluyendo, claro, los .htaccess originales—. ¿Qué ventaja tiene esto?, pues que nos aseguramos de que si hay algún error, tendremos la posibilidad de recuperar la web.
Crear un archivo .htaccess es sencillo, tanto como abrir un editor de texto (no hace falta un software concreto, con el mismo TextEdit o el bloc de notas vale) y agregar uno de los códigos que te mencionamos más adelante (en la sección de usos comunes concretamente). El que elijas dependerá de la funcionalidad que quieras incluir. Luego te explicamos más.
Usos comunes para los archivos .htaccess
Aquí va una lista con algunos de los códigos más recurrentes. Aunque, por supuesto, siempre puedes buscar más o crear los tuyos propios.
Proteger nuestro archivo .htaccess
Lo primero es la seguridad. Si queremos evitar que otras persona modifique nuestro .htaccess, debemos activar el siguiente blindaje:
<files .htaccess>
order deny, allow
deny from all
</files>
Allow from all
</files>
Incluiremos aquí todas las extensiones que queramos proteger, separadas todas ellas por líneas.
Banear usuarios y bots
Imagina que encuentras actividad sospechosa en el servidor con una determinada IP, ¿que hacemos? No te preocupes, es posible bloquearla para liberar al servidor e impedir el acceso. Los bots de Spam o de información son todo un peligro, pero además sobrecargan nuestra página.
Para bloquear bots usaremos:
RewriteEngine on
RewriteCond %{HTTP_REFERER} xxxxxxx\.com [NC,OR]
Si, por otro lado, lo que queremos es bloquear direcciones IP:
Order Deny, Allow
Deny from XXX.XXX.XXX.XXX
Deny from XXX.XXX.XXX.XXX
Quitar www del dominio (redireccionar 301)
Te recomendamos que elijas usar www siempre o no usarlo —no combinarlos—. Así tu SEO no se verá perjudicado.
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^www\.midominio\.com$ [NC]
RewriteRule ^(.*)$ http://midominio.com/$1 [R=301,L]
Personalizar la página de error 404
Si te quieres poner un poco creativo, creando un .htaccess podremos darle un toque de color a este incómodo y gris error.
Podemos usar una página estática HTML que ya hayamos creado con el siguiente código:
ErrorDocument 404 /errores/tupágina404.html
Si, no queremos más que escribir unas líneas de texto, bastará con usar este otro código (nuestro mensaje irá encerrado en las comillas):
ErrorDocumento 404 «<H1>Página no encontrada</H1>»
Quitar hotlinking de nuestra página
El hotlinking también es otro motivo que añadirá carga nuestro servidor. Tiene que ver con mostrar contenido de nuestro servidor en otra página web distinta.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?tudominio\.com/.*$ [NC]
RewriteRule .*\.(jpg|gif|bmp|png|mp4)$ [L]
¿Cómo subir el archivo .htaccess a mi servidor?
- Abrimos un editor ASCII y escribimos el código por el que nos hayamos decidido
- Guardamos el archivo de la siguiente forma: htaccess.txt
- Abrimos el programa FTP y accedemos al servidor CGI. Subimos nuestro archivo htaccess.txt al directorio en el que queramos que acabe ubicado
- Usamos el programa FTP para renombrar el archivo ya subido por .htaccess
¿Dónde está mi archivo .htaccess?
Lo podemos encontrar en la carpeta raíz de nuestra cuenta de alojamiento. Allí habrá almacenado un sitio web (My SQL database).
En el caso de no poder ubicarla ahí tendremos, primero, que asegurarnos de que nuestra configuración del servidor muestra los archivos ocultos. Ocurre que el punto “.” antes del nombre del archivo lo oculta si no tenemos activada la mencionada configuración.
También existe la posibilidad de que ni el servidor ni nuestra web necesiten un .htaccess. Si todo esto no funcionase, puede ser simplemente que nuestra web y servidor no necesiten un .htaccess. Esto puede ocurrir cuando la plataforma en la que está alojado nuestro sitio tiene otras maneras y enfoques a la hora de cubrir las funciones asociadas al .htaccess. Incluso, podría llegar a ocurrir que no tengamos que acceder nuestro archivo .htaccess desde la base de datos de nuestra web, sino que éste sea editable desde la pantalla de usuario y estemos modificándolo sin reparar en ello.