Generador de reglas .htaccess para Apache

Redirecciones 301, HTTPS, URLs limpias, compresión Gzip y bastionado • Desarrollo
Publicidad
Apache 2.4 & 2.2 • Servidores web

Configurador visual y generador de .htaccess

Genera directivas limpias y comentadas para servidores Apache. Configura redirecciones 301 permanentes, forzado seguro de HTTPS, enrutador para PHP o SPA, prevención de ataques comunes, compresión Gzip y políticas de caché con un par de clics.

Presets recomendados en 1 clic:
.htaccess
0 líneas 0 directivas
# Generando directivas .htaccess...

1. Protocolo, canonicidad y codificación

Forzado seguro de certificados SSL, unificación de dominios con o sin www y tipos MIME.

Forzar tráfico seguro HTTPS Recomendado
Redirige automáticamente cualquier solicitud que llegue por HTTP a la versión cifrada HTTPS mediante una redirección 301 permanente.
Normalización de dominio (con o sin www)
Evita problemas de contenido duplicado en buscadores forzando una única variante canónica para tu sitio web.
Barra final en URLs (trailing slash)
Normaliza la presencia o ausencia de la barra inclinada al final de las direcciones para mantener consistencia SEO.
Codificación predeterminada UTF-8 Recomendado
Declara UTF-8 en las cabeceras HTTP de documentos HTML, CSS, JavaScript y JSON para evitar caracteres rotos (tildes y ñ).
Tipos MIME modernos (WebP, AVIF, WOFF2) Recomendado
Registra en Apache las cabeceras Content-Type adecuadas para formatos multimedia modernos como imágenes WebP y AVIF y fuentes WOFF2.

2. Redirecciones, enrutado y páginas de error

Redirecciones 301 permanentes, patrones comodín, enrutador frontal SPA/PHP y códigos de error.

Redirecciones de URLs individuales
Indica la ruta de origen (por ejemplo /antiguo.html) y la ruta o URL completa de destino.
Redirecciones por patrones regex (RedirectMatch)
Aplica redirecciones masivas mediante capturas con expresiones regulares (por ejemplo de /blog/2024/(.*) a /noticias/$1).
Reescritura de parámetros query string a URLs amigables
Transforma URLs de estilo dinámico con parámetros (?id=123) en rutas limpias y legibles para usuarios y buscadores.
Enrutador frontal (Front Controller / SPA / MVC)
Redirige todas las solicitudes que no coincidan con archivos o carpetas físicos a un único punto de entrada (como index.php para Laravel, WordPress o React).
Páginas de error personalizadas (ErrorDocument)
Muestra documentos HTML diseñados a medida cuando ocurra un error en el servidor. Deja en blanco los que no vayas a utilizar.
400
401
403
404
500

3. Seguridad, privacidad y bastionado

Ocultación de directorios, bloqueo de volcados de base de datos, hotlinking y cabeceras HTTP.

Desactivar listado de directorios (Options -Indexes) Recomendado
Impide que los usuarios o rastreadores puedan ver la lista de archivos de una carpeta cuando no haya un archivo index.html o index.php presente.
Bloquear acceso a archivos y carpetas ocultas (.git, .env, .htaccess) Recomendado
Devuelve un error 403 Forbidden ante cualquier intento de descargar archivos con punto inicial, preservando la carpeta .well-known para validaciones SSL.
Bloquear volcados SQL, copias de seguridad y logs (.sql, .bak, .log) Recomendado
Deniega el acceso a copias de seguridad de bases de datos, archivos de registro y ficheros de configuración sensibles que suelen ser objetivo de escaneos automáticos.
Proteger archivos críticos de WordPress (wp-config.php y xmlrpc.php)
Blindaje específico para sitios WordPress: bloquea el acceso directo a las credenciales de base de datos y al protocolo XML-RPC (fuente habitual de ataques de fuerza bruta).
Bloquear robo de ancho de banda por hotlinking de imágenes
Impide que otros sitios web incrusten directamente tus imágenes o recursos gráficos utilizando tu servidor y consumiendo tu transferencia mensual.
Cabeceras HTTP de seguridad (X-Frame, nosniff, Referrer-Policy) Recomendado
Añade cabeceras X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN y Referrer-Policy para mitigar ataques de clickjacking y sniffing de tipos MIME.
Bloquear métodos HTTP inseguros (TRACE, TRACK, DEBUG) Recomendado
Inhabilita métodos HTTP de depuración que facilitan ataques de Cross-Site Tracing (XST).
Bloquear rastreadores sospechosos y scrapers agresivos
Deniega el acceso por User-Agent a herramientas automáticas de recolección de correos, escáneres de vulnerabilidades y bots no legítimos.
Ocultar firma del servidor (ServerSignature Off) Recomendado
Evita que Apache imprima el número de versión exacta del servidor y del sistema operativo en el pie de las páginas de error.

4. Rendimiento, compresión y almacenamiento en caché

Acelera la velocidad de carga de tu página web con compresión Gzip y políticas de mod_expires.

Compresión Gzip / Deflate (mod_deflate) Recomendado
Comprime dinámicamente HTML, CSS, JavaScript, XML, JSON y fuentes antes de enviarlos al navegador, reduciendo el tráfico hasta en un 70 %.
Expiración en caché del navegador (mod_expires) Recomendado
Indica a los navegadores que guarden en memoria imágenes, iconos y fuentes durante 1 año, y archivos HTML durante 1 hora para evitar descargas redundantes.
Cabeceras explícitas de control de caché (Cache-Control) Recomendado
Añade directivas de control de caché modernas (public, max-age, immutable) para recursos estáticos con huella de versión (cache busting).
Conexiones persistentes TCP (Keep-Alive) Recomendado
Mantiene abierta la conexión entre el cliente y el servidor para reutilizarla en múltiples peticiones de recursos consecutivos.

5. Control de acceso por IP y modo mantenimiento

Permite o bloquea direcciones IP específicas y activa una página de mantenimiento para los usuarios.

Filtrado y restricción por dirección IP
Configura una lista blanca (solo las IPs indicadas pueden entrar, ideal para intranets o paneles de administración) o una lista negra de IPs bloqueadas.
Modo mantenimiento temporal con exclusión de IP
Redirige temporalmente (302) a todos los visitantes a una página de mantenimiento, permitiendo únicamente a tu propia dirección IP navegar libremente para hacer pruebas.
Documentación técnica

Guía de administración y buenas prácticas con .htaccess

Aprende cómo funciona el motor de reescritura de Apache, el orden de lectura de directivas y cómo evitar los errores más habituales al desplegar en servidores web.

El ciclo de evaluación de Apache

A diferencia de los servidores Nginx, donde las directivas se cargan únicamente al arrancar el proceso principal, Apache inspecciona y parsea el archivo .htaccess en cada solicitud entrante al servidor. Esto permite a los desarrolladores modificar reglas en entornos de alojamiento compartido sin permisos de administrador raíz (root).

Sin embargo, evaluar archivos .htaccess en carpetas muy anidadas puede generar un leve impacto de lectura en disco I/O si hay miles de peticiones simultáneas. En servidores dedicados con tráfico masivo, es recomendable trasladar estas reglas al bloque <Directory> del archivo de configuración general.

Cómo prevenir el Error 500 (Internal Server Error)

El fallo más frecuente al editar un archivo .htaccess es que el servidor web no tenga habilitado alguno de los módulos requeridos por las directivas (por ejemplo mod_rewrite, mod_deflate, mod_expires o mod_headers).

  • Usa directivas condicionales: Envolver las reglas dentro de bloques <IfModule mod_nombre.c> evita que el servidor falle si el módulo está ausente.
  • Revisa los saltos de línea: Asegúrate de que el archivo se guarde con codificación UTF-8 sin BOM y con saltos de línea estándar Unix (LF) o Windows (CRLF).
  • Haz siempre una copia de seguridad: Antes de reemplazar el archivo .htaccess en tu servidor de producción, descarga siempre la versión anterior como respaldo.

Preguntas frecuentes sobre Apache .htaccess

¿Qué es exactamente el archivo .htaccess y qué impacto tiene en el servidor?

El archivo .htaccess (Hypertext Access) es un fichero de configuración descentralizado a nivel de directorio para servidores web Apache. Permite modificar directivas de comportamiento del servidor sin necesidad de acceder a los archivos de configuración raíz (como httpd.conf o apache2.conf). Apache evalúa este archivo en cada petición HTTP entrante que coincida con la ruta donde se encuentra ubicado, permitiendo reescribir URLs, gestionar redirecciones, forzar certificados SSL, optimizar la compresión y restringir accesos de manera inmediata sin tener que reiniciar el servicio del servidor.

¿Por qué un error de sintaxis en .htaccess causa el Error 500 (Internal Server Error)?

Apache procesa el archivo .htaccess en tiempo real durante la fase de análisis de la solicitud. Si encuentra una directiva no reconocida, un parámetro mal formado o un módulo invocado que no está habilitado en el servidor (por ejemplo, directivas de mod_rewrite cuando dicho módulo está desactivado), el servidor interrumpe de inmediato la ejecución y devuelve un código de estado HTTP 500 para evitar fugas de información o comportamientos imprevistos. En este generador envolvemos las directivas críticas dentro de bloques condicionales <IfModule> para prevenir este fallo en caso de que algún módulo no esté presente.

¿Qué diferencia existe entre las directivas de control de acceso de Apache 2.2 y Apache 2.4?

En Apache 2.2 la autorización se gestionaba mediante el módulo mod_authz_host con la sintaxis «Order allow,deny» seguida de «Allow from all» o «Deny from IP». A partir de Apache 2.4, este módulo fue sustituido por mod_authz_core, introduciendo la sintaxis moderna «Require all granted», «Require ip 1.2.3.4» o «Require not ip 5.6.7.8» dentro de bloques <RequireAll>. Usar directivas obsoletas en Apache 2.4 sin tener habilitado el módulo de compatibilidad mod_access_compat suele ser motivo de caídas del servidor. Nuestro generador te permite elegir la versión exacta o generar sintaxis híbrida segura.

¿Cómo mejoran la compresión Gzip y mod_expires el rendimiento en Google PageSpeed?

La compresión con mod_deflate reduce el tamaño de transferencia de archivos de texto (HTML, CSS, JS, SVG, JSON) entre un 60 % y un 80 %, lo que acelera drásticamente el First Contentful Paint (FCP). Por su parte, mod_expires asigna cabeceras Expires y Cache-Control que indican al navegador que guarde en memoria local los recursos inmutables (como imágenes, logotipos y fuentes) durante un año. Así, en las visitas sucesivas de los usuarios, el navegador no vuelve a descargar estos recursos por la red, logrando una carga instantánea.

¿Cómo puedo probar el archivo .htaccess en local antes de subirlo a producción?

En entornos locales con Apache como Laragon o XAMPP, asegúrate de que el módulo mod_rewrite esté activado en el archivo httpd.conf (línea «LoadModule rewrite_module modules/mod_rewrite.so» sin almohadilla de comentario) y que la directiva «AllowOverride All» esté concedida para tu directorio raíz. Guarda el archivo con el nombre exacto «.htaccess» (con el punto inicial y sin extensión .txt). Si tu editor en Windows no te deja crearlo directamente, usa el botón de descarga de esta herramienta, que genera el archivo con el nombre canónico correcto.

Publicidad
¡Código copiado al portapapeles!