Generador de .htaccess

Genera reglas Apache .htaccess para configuraciones comunes: forzar HTTPS, redirección sin www, bloquear IPs, habilitar compresión gzip, establecer encabezados de caché, configurar CORS, agregar encabezados de seguridad y proteger directorios con contraseña.

Select rules

.htaccess output

# Generated by Zenovay .htaccess Generator
# Place this in your web root directory

# Force HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Enable Gzip Compression
<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml
  AddOutputFilterByType DEFLATE application/javascript application/x-javascript
  AddOutputFilterByType DEFLATE application/json application/xml
  AddOutputFilterByType DEFLATE image/svg+xml application/font-woff2
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>

# Security Headers
<IfModule mod_headers.c>
  Header always set X-Frame-Options "SAMEORIGIN"
  Header always set X-Content-Type-Options "nosniff"
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
  Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
  Header always set X-XSS-Protection "1; mode=block"
</IfModule>

Cómo usar Generador de .htaccess

  1. 1Selecciona las reglas que necesitas de la lista de verificación.
  2. 2Completa los valores requeridos (nombre de dominio, direcciones IP, etc.).
  3. 3El código .htaccess se genera al instante con la sintaxis Apache adecuada.
  4. 4Copia y pega en tu archivo .htaccess en el directorio raíz web.
ZenovayAnalytics

Analytics pensado para fundadores.

  • Seguimiento de visitantes en tiempo real
  • Privacidad primero, sin aviso de cookies
  • Configurado en dos minutos
Descubre Zenovay

Preguntas frecuentes

¿Qué es .htaccess y dónde lo coloco?
El archivo .htaccess es un archivo de configuración a nivel de directorio para el servidor web Apache. Permite establecer directivas de configuración del servidor para un directorio específico y sus subdirectorios sin necesidad de modificar la configuración principal de Apache. Colóquelo en la raíz web (directorio public_html/ o www/) para reglas de todo el sitio, o en un subdirectorio para aplicar reglas solo a ese directorio. Nota: .htaccess requiere que AllowOverride esté habilitado en su configuración de Apache. Si su proveedor no admite .htaccess, las reglas deben ir en httpd.conf o en un bloque VirtualHost.
¿Cómo forzo HTTPS con .htaccess?
El enfoque estándar usando mod_rewrite: RewriteEngine On / RewriteCond %{HTTPS} off / RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]. Verifica si HTTPS no está activo y redirige permanentemente (301). En servidores detrás de un equilibrador de carga o CDN, puede necesitar: RewriteCond %{HTTP:X-Forwarded-Proto} !https — para verificar el protocolo original. Pruebe siempre con R=302 (temporal) antes de confirmar R=301 (permanente, almacenado en caché por los navegadores).
¿Cómo habilito la compresión gzip?
Usando mod_deflate (el más común): <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/css application/javascript application/json image/svg+xml </IfModule>. Esto comprime respuestas HTML, CSS, JS, JSON y SVG. Gzip reduce típicamente el tamaño de archivos de texto en un 60–80%. Evite comprimir formatos ya comprimidos: JPEG, PNG, WebP, WOFF2 — ya están comprimidos en binario y no ganan nada con gzip. Verifique si la compresión funciona con la pestaña Red de las DevTools del navegador — busque "Content-Encoding: gzip" en los encabezados de respuesta.
¿Cómo funcionan los encabezados de caché del navegador en .htaccess?
Los encabezados Cache-Control y Expires indican a los navegadores cuánto tiempo almacenar en caché los archivos. Dos directivas clave: mod_expires (encabezado Expires) y mod_headers (encabezado Cache-Control). Configuraciones comunes: imágenes = 1 año, CSS/JS con hash en el nombre de archivo = 1 año, CSS/JS sin hash = 1 semana, HTML = no-cache o 5 minutos. Para la invalidación de caché, use nombres de archivo versionados (style.v2.css) o hashes de contenido (style.abc123.css) en lugar de tiempos de caché cortos. El valor de max-age está en segundos: 31536000 = 1 año, 604800 = 1 semana, 86400 = 1 día.
¿Cómo protejo un directorio con contraseña usando .htaccess?
Se requieren dos archivos: (1) .htaccess con AuthType Basic / AuthName "Área Protegida" / AuthUserFile /ruta/a/.htpasswd / Require valid-user. (2) Archivo .htpasswd con nombres de usuario y contraseñas con hash. Cree .htpasswd con: htpasswd -c /ruta/a/.htpasswd usuario. Alternativamente, genere hashes de contraseña con un generador en línea de htpasswd MD5. Importante: especifique la ruta absoluta del servidor a .htpasswd (no la URL web), típicamente /home/usuario/dominio/.htpasswd. Nunca almacene .htpasswd dentro de la raíz web — manténgalo por encima de la raíz del documento.