El archivo .htaccess funciona en servidores Apache y sirve para modificar y personalizar determinadas opciones. Podrás así controlar tu sitio web. Algunas de las funciones que puedes implementar en este archivo te permitirán proteger con contraseña un directorio o carpeta, indicar los directorios a los que debe dirigirse el sistema para un determinado subdominio, bloquear el acceso a tu sitio desde determinadas IPs o direcciones web, indicar el lugar en el que se encuentran los archivos que muestran mensajes de error, y unas cuantas opciones más.
Como crear y subir el archivo .htaccess al servidor
Para crear un archivo de este tipo debes utilizar el Bloc de Notas en un ordenador con Windows, o TextEdit si utilizas un ordenador Mac. Guardar el resultado con el nombre htaccess.txt. Subirlo al directorio raíz o al que consideres oportuno de tu servidor y, tras hacerlo, renombrarlo a .htaccess.
¿En dónde incluirlo?
Si este archivo se encuentra en el directorio raíz, afecta a todas las carpetas y archivos del sitio. Si lo incluimos en una carpeta, sólo afectará a las carpetas (subcarpetas) y archivos que se encuentren dentro de ella.
Parámetros más utilizados
Aunque hay algunos más, los parámetros más utilizados son:
- Redirect /viejodirectorio https://www.dominio.com/nuevodirectorio/ – Para redireccionar solicitudes desde un directorio a otro. (No funciona en todos los servidores; depende de las configuraciones definidas en httpd.inf)
- DirectoryIndex nueva.htm – Cambia la página de inicio por nueva.htm.
- AddHandler application/x-httpd-php .php .htm – Procesa las páginas .htm (además de las .php) como páginas .php.
- ErrorDocument 404 /errores/error404.htm – Abre la página error404.htm, construida previamente, cuando se solicita en el navegador una página que no existe. Se puede crear, referenciándola con una instrucción similar, una página de error para cada tipo:
401 – Not Authorized – Cuando se intenta acceder a una página protegida por nombre de usuario y contraseña.
403 – Forbidden – Intento de acceso a zona restringida.
500 – Internal Server Error – Existe un error interno en el servidor. El error puede estar provocado, por ejemplo, por una mala construcción o por la inserción de instrucciones no soportadas por el servidor en el archivo .htaccess.
404 – Not Found – Cuando la página solicitada no existe. - Para impedir el acceso al sitio web de determinadas direcciones IP, habrá que incluir:
order allow,deny
deny from 213.60.37.12 (Para negar el acceso a una dirección específica)
deny from 220.70 (Para negar el acceso a un rango de direcciones)
allow from all - Para restringir el acceso a determinados bots, incluiríamos:
SetEnvIfNoCase User-Agent «^LWP::Simple*» bad_bot
SetEnvIfNoCase User-Agent «^lwp-trivial*» bad_bot
deny from env=bad_bot
Podemos averiguar los bots que nos visitan examinando los logs de accesos al servidor.
Más instrucciones
Existen otras instrucciones, entre las que se encuentran las indicadas en Cómo proteger un directorio con .htaccess y .htpasswd en un servidor web.