¿Cómo usar esta herramienta?
- Elija un preset o empiece con una lista vacía. Cuatro stacks cubren los casos más frecuentes.
- Defina la versión Apache: 2.4 (moderna) o dual 2.4+2.2 (con fallback `<IfVersion>` para hostings compartidos antiguos).
- Añada, elimine, reordene reglas. Cada regla muestra el módulo Apache que necesita.
- Cuando la regla HSTS está activa, aparece la lista de verificación Preload — indica qué falta antes del envío en hstspreload.org.
- Cambie de pestaña: `.htaccess`, Cloudflare Pages `_headers` o `_redirects`. Copiar o descargar — todo se queda en local.
¿Qué hace el generador .htaccess?
El generador es un editor para reglas de configuración Apache. Se elige entre 14 tipos de reglas
(redirecciones, rewrites, cabeceras de seguridad, forzar HTTPS, Cache-Control, bloqueo IP, protección
anti-hotlink, HTTP Basic Auth y más), se ajusta cada regla campo por campo y se obtiene un .htaccess
limpiamente estructurado — incluyendo guards <IfModule> por regla, salida dual opcional
<IfVersion> para hostings compartidos antiguos, y exportación Cloudflare Pages para _headers y
_redirects. Todo ocurre en el navegador. Sin subida, sin cuenta, sin banner de cookies.
Los cuatro presets cubren las configuraciones de stack más frecuentes:
- Cabeceras de seguridad modernas — starter CSP, HSTS preload-ready, Permissions-Policy, COOP, X-Content-Type-Options, Referrer-Policy.
- Sitio estático — rendimiento — Cache-Control + Expires para JS/CSS/imágenes/fuentes, compresión Deflate para MIME texto.
- Pipeline HSTS Preload — preparación completa para la submission de hstspreload.org.
- Hardening WordPress — protección para
wp-config.php,wp-includes, XML-RPC.
¿Qué tipos de reglas hay integrados?
Catorce tipos de reglas, agrupados por función:
- Routing — redirect (301/302/303/307/308), patrón rewrite, www ↔ non-www, forzar HTTPS, añadir o eliminar slash final.
- Header — bloque de cabeceras de seguridad con CSP, Permissions-Policy, HSTS, COOP, Referrer-Policy.
- Acceso — allowlist IP (sitio entero o solo zona admin), blocklist IP, HTTP Basic Auth con realm
y ruta
.htpasswd. - Contenido — documentos de error personalizados (401/403/404/500), Directory Listing on/off,
Cache-Control con
max-ageeimmutable, compresión con lista de MIME types. - Protección — hotlink protection con allowlist Referer.
Cada regla muestra bajo su cabecera los módulos Apache necesarios como insignia. Se ve de un vistazo
si su hosting proporciona mod_rewrite, mod_headers, mod_deflate y compañía.
¿Cómo funciona el modo dual Apache 2.4 vs 2.2?
La mayoría de los hostings compartidos corren Apache 2.4 en 2026. Las directivas de acceso
han cambiado, sin embargo, fundamentalmente entre 2.2 y 2.4: en vez de Order Allow,Deny más
Allow from, la 2.4 usa la nueva directiva Require. Quien despliega en un hosting legacy activa el
modo dual 2.4+2.2 del generador — emitirá entonces ambas variantes sintácticas envueltas en bloques
<IfVersion>. Apache lee solo el bloque que corresponde, y no hay que mantener dos .htaccess
separados.
El trade-off: <IfVersion> necesita mod_version, presente en la mayoría de los 2.4 pero no en
todos los 2.2. El generador envuelve por eso adicionalmente los bloques duales en un guard
<IfModule mod_version.c>.
¿Qué hace la lista de verificación HSTS Preload?
Al activar el flag HSTS en una regla de cabecera de seguridad, aparece sobre la lista de reglas una lista de verificación. Revisa las demás reglas y avisa de lo que el envío hstspreload.org rechazaría si no:
- ¿Falta una redirección HTTPS? → se avisa.
- ¿
includeSubDomainsestá en la cabecera HSTS? → se comprueba. - ¿
preloadestá en la cabecera HSTS? → se comprueba.
Cuando todo está verde, el enlace abre directamente el formulario de envío de hstspreload.org. Así se evita el caso clásico del dominio rechazado porque el flujo de envío no se entendió.
¿Qué cabeceras de seguridad merecen realmente la pena?
Las Mozilla Web Security Guidelines y el OWASP Secure Headers Project listan las siguientes cabeceras como set obligatorio para aplicaciones web modernas. El generador las cubre todas:
- Strict-Transport-Security — fuerza HTTPS en navegadores durante el período siguiente (max-age 1 año por defecto, preload-ready). Obligatorio para todo sitio que en algún momento haya sido accesible vía HTTP.
- Content-Security-Policy — allowlist para scripts, estilos, imágenes, fuentes. Impide cross-site-scripting y mixed-content. Compleja de ajustar, de ahí el aviso del validator.
- Permissions-Policy — bloquea API de navegador (cámara, micrófono, geolocalización, Payment Request, sensores) que su sitio no necesita. Por defecto: todo desactivado.
- Cross-Origin-Opener-Policy —
same-originaísla la ventana contra manipulacioneswindow.openery desbloqueaSharedArrayBuffer(relevante para herramientas WebAssembly). - Referrer-Policy —
strict-origin-when-cross-originenvía el Referer completo solo al propio dominio, a terceros solo el origen. Equilibrio entre necesidad analítica y privacidad. - X-Content-Type-Options —
nosniffimpide ataques MIME-sniffing sobre ficheros con Content-Type sin definir.
El generador envuelve las seis en un único bloque <IfModule mod_headers.c> y emite el bloque como
unidad coherente. Quien no necesite una cabecera desactiva la casilla correspondiente o borra el
valor en el campo de texto — la línea cae automáticamente de la salida.
¿Cómo funciona la exportación Cloudflare Pages?
Cloudflare Pages no lee .htaccess. La plataforma espera, en cambio, dos ficheros en la raíz web:
_headers— patrón de ruta más cabeceras de respuesta HTTP. Formato: línea de ruta + líneasClave: Valorindentadas._redirects— ruta origen, ruta destino, código de estado por línea.
El generador emite ambos ficheros desde la misma lista de reglas. Cabeceras de seguridad y
Cache-Control van a _headers, reglas de redirección / forzar HTTPS / canonical www / slash final
van a _redirects. Basta con cambiar la pestaña de salida.
Un problema frecuente queda así resuelto: quien migra de hosting compartido a una plataforma Edge
debería, de otro modo, traducir manualmente su .htaccess en otros dos ficheros. El generador lo
hace automáticamente — misma lista de reglas, tres formatos de salida.
¿Qué errores aparecen con más frecuencia?
Tres clásicos que asoman una y otra vez en los despliegues de producción de un nuevo .htaccess — y
el generador intenta evitar cada uno:
- 500 Internal Server Error tras la subida — es casi siempre una directiva sin módulo cargado.
Clásico:
Header set …en un hosting sinmod_headers. El generador envuelve por eso cada regla en un guard<IfModule>. Si aun así aparece un 500, compruebe primero elerror.logde su hosting. - Bucle de redirección infinito al forzar HTTPS detrás de un proxy inverso — Cloudflare y CDN
similares pasan la petición ya HTTPS-terminada; Apache ve sin embargo
%{HTTPS}como off, porque la conexión Proxy → Origin es HTTP. Solución: en vez de%{HTTPS}compruebe%{HTTP:X-Forwarded-Proto}. El generador emite la variante estándar; quien esté detrás de un CDN ajusta la condición manualmente. - CSP bloquea sus propios scripts inline — sucede cuando la CSP estándar se sirve sin
'unsafe-inline'y el sitio contiene aún scripts inline. Dos vías: sacar los scripts inline a ficheros separados (vía limpia, a largo plazo), o permitir explícitamente los inlines restantes vía lista de permitidos por nonce / hash. El evaluador CSP externo indica exactamente qué inlines la política bloquea actualmente.
Estos tres puntos débiles están enlazados en las respuestas FAQ; el generador mismo no puede impedirlos, pero los comunica honestamente.
¿Cómo se gestiona la privacidad?
Pure-client. El generador corre íntegramente en el navegador. Sin endpoint de servidor para
validación de reglas, sin llamada de telemetría, sin cookie, sin cuenta. Al cerrar la pestaña, la
lista de reglas desaparece — el generador no persiste nada. Quien necesite un histórico descarga el
.htaccess tras cada edición y lo versiona en el repositorio, donde tiene su sitio de todas formas.
¿Qué se ha dejado fuera deliberadamente?
- Sin convertidor nginx —
htaccess-a-nginxes una herramienta separada de la lista pendiente, porque las correspondencias de directivas son demasiado voluminosas para una pestaña inline. - Sin generador
.htpasswdinline — el generador de fichero de contraseñas es la herramienta hermanahtpasswd-generator(próximamente). La regla HTTP Basic Auth remite en la salida al fichero necesario. - Sin mega-lista anti-bots — la detección por User-Agent es en 2026 ampliamente ineficaz como protección y produce falsos positivos. Quien quiera bloquear bots usa un WAF a nivel Edge.
- Sin validación del lado del servidor — exigiría una ida y vuelta al servidor, rompería la promesa pure-client. Para pruebas en vivo, la FAQ remite al probador externo de madewithlove.
- Sin editor de reglas mod_security — demasiado especializado para una herramienta generadora. Quien ajuste mod_security trabaja directamente con la configuración OWASP-CRS.
¿Dónde encuentro más detalles?
- Documentación Apache HTTP Server 2.4 — referencia oficial de directivas
- .htaccess en Wikipedia — historia, funcionamiento, ejemplos
- hstspreload.org — lista de envío para dominios HSTS-Preload
- CSP Evaluator — validador externo para valores Content-Security-Policy
- Documentación Cloudflare Pages Headers — referencia de sintaxis
_headers - Documentación Cloudflare Pages Redirects — referencia de sintaxis
_redirects
Última actualización: