Archivo .htaccess
Archivo de configuración del servidor Apache, colocado en una carpeta de tu web, que controla redirecciones, reescritura de URLs, seguridad, caché y más.
Qué es Archivo .htaccess
El .htaccess es un fichero de texto que el servidor Apache lee en cada carpeta donde aparece, aplicando sus directivas a esa carpeta y subcarpetas. Permite cambiar el comportamiento del servidor sin acceso a su configuración global: redirigir URLs (301/302), forzar HTTPS, reescribir direcciones "bonitas", proteger carpetas con contraseña, bloquear IP, ajustar cabeceras de caché o personalizar páginas de error.
Cómo funciona
Lo creas o editas (vía gestor de archivos del panel, SFTP o el editor de tu CMS) en la raíz de tu web. Apache lo procesa en cada petición. Por ejemplo, unas líneas con mod_rewrite redirigen "/articulo-viejo" a "/articulo-nuevo"; otras fuerzan que todo el tráfico vaya por HTTPS. WordPress lo usa para sus enlaces permanentes "bonitos". Un error de sintaxis puede tumbar el sitio (error 500), así que conviene tener copia.
Cuándo usarlo
Para redirecciones tras cambiar URLs (clave para no perder SEO), forzar HTTPS, proteger zonas privadas, ajustar caché de recursos estáticos o personalizar errores. Solo aplica si tu hosting usa Apache; en Nginx la configuración equivalente va en los archivos del servidor, no en un .htaccess.
Datos curiosos
- Es invisible en muchos exploradores de archivos porque empieza por punto: activa "mostrar archivos ocultos" para verlo.
- mod_rewrite, el motor de reescritura de URLs, es lo que más se usa en un .htaccess y también lo más propenso a errores.
- Tener muchos .htaccess anidados penaliza el rendimiento: Apache los relee constantemente; por eso en producción exigente se prefiere meter las reglas en la config global.
Preguntas frecuentes
¿Para qué se usa más?
Para redirecciones 301, forzar HTTPS y las URLs "bonitas" de WordPress y otros CMS.
¿Por qué mi web da error 500 tras editarlo?
Casi seguro un error de sintaxis en el .htaccess. Restaura la copia anterior o renómbralo para descartarlo.
¿Funciona en Nginx?
No. .htaccess es de Apache. En Nginx esa configuración va en los archivos del servidor y la cambia el administrador.