T

Text Machine

Potentes herramientas de texto, en tu navegador

Generador de .htaccess

Genera reglas comunes de .htaccess para tu sitio web. Selecciona las opciones que necesitas y copia el código generado.

Opciones

Performance

Security

Código .htaccess Generado
Important Notes

• The .htaccess file should be placed in the root directory of your website
• Make sure mod_rewrite is enabled on your Apache server
• Always backup your existing .htaccess file before replacing it
• Some hosting providers may restrict certain .htaccess directives

Cómo usar Generador de .htaccess

  1. 1

    Introduce tu dominio

    Escribe tu nombre de dominio, como ejemplo.com, en el campo Configuración del dominio.

  2. 2

    Selecciona las reglas

    Marca las opciones que necesites, como Forzar HTTPS, Forzar o Eliminar www, compresión GZIP, protección contra hotlinking o páginas de error personalizadas.

  3. 3

    Añade redirecciones

    Para las redirecciones de URL, introduce las rutas antigua y nueva y elige una redirección permanente 301 o temporal 302.

  4. 4

    Copia o descarga

    Usa Copiar al portapapeles o Descargar .htaccess y sube el archivo al directorio raíz de tu sitio.

Domina el archivo .htaccess de Apache

Qué hace realmente un archivo .htaccess

Un archivo .htaccess es un archivo de configuración por directorio para el servidor web Apache. Cuando Apache está compilado con AllowOverride habilitado, lee el archivo .htaccess del directorio desde el que sirve, además de los de cada directorio superior, y aplica sus directivas a esa petición. Esto te permite cambiar el comportamiento del servidor, las redirecciones, el almacenamiento en caché, el control de acceso y mucho más, sin tocar la configuración principal del servidor ni reiniciar Apache. Los cambios surten efecto en la siguiente petición, que es lo que hace tan cómodo a .htaccess en el alojamiento compartido, donde no tienes acceso a la configuración principal.

El nombre del archivo es literalmente .htaccess, con un punto inicial y sin extensión, y en los sistemas tipo Unix el punto lo convierte en un archivo oculto. Pertenece al directorio cuyo comportamiento quieres cambiar; lo más habitual es la raíz del documento de tu sitio. Una regla en la raíz se aplica a todo el sitio a menos que un .htaccess más profundo la anule.

Solo Apache: Nginx y otros lo ignoran

Esto es lo primero que hay que verificar antes de escribir una sola regla: .htaccess es una característica de Apache. Nginx, el otro servidor web dominante, no lee los archivos .htaccess en absoluto y nunca lo hará, por diseño. Si tu sitio funciona con Nginx, colocar un .htaccess en la raíz no hace nada, y las redirecciones, reescrituras y cabeceras equivalentes deben expresarse en su lugar dentro del bloque server de Nginx. LiteSpeed y unos pocos servidores compatibles con Apache sí entienden la sintaxis de .htaccess, pero Nginx, Caddy e IIS usan cada uno sus propios formatos de configuración.

Si no estás seguro de qué servidor tienes, comprueba la cabecera de respuesta Server, que el Visor de Cabeceras HTTP de este sitio puede mostrarte. Ver Apache ahí confirma que .htaccess funcionará; ver nginx significa que vas por el camino equivocado con este archivo.

Redirecciones y canonicalización con mod_rewrite

El trabajo más común de .htaccess es redirigir URL, lo que hace a través del módulo mod_rewrite envuelto en un bloque RewriteEngine On. Un traslado permanente sencillo usa Redirect 301 desde una ruta antigua a una nueva, mientras que RewriteRule gestiona redirecciones basadas en patrones con expresiones regulares. Las dos tareas de canonicalización que casi todos los sitios necesitan son forzar un único nombre de host (siempre con www o siempre sin www) y forzar HTTPS, ambas logradas con un RewriteCond que comprueba la petición entrante seguido de un RewriteRule que emite un 301 hacia la versión canónica.

Usa siempre 301 (permanente) para los traslados que pienses mantener, porque el 301 transmite la autoridad de enlace al destino e indica a los buscadores que actualicen su índice. Un detalle sutil pero importante es evitar las cadenas de redirección: envía http://example.com directamente a https://www.example.com en un solo salto en lugar de rebotar primero por https://example.com. Cada salto adicional añade latencia y diluye ligeramente las señales de posicionamiento, algo que el Comprobador de Cadenas de Redirección de este sitio puede ayudarte a detectar.

Rendimiento: compresión, caché y el coste de AllowOverride

Dos características de .htaccess aportan mejoras de rendimiento inmediatas. La compresión GZIP, configurada a través de mod_deflate, reduce las respuestas basadas en texto como HTML, CSS y JavaScript antes de enviarlas, recortando a menudo el tamaño de transferencia entre un 60 y un 80 por ciento. El almacenamiento en caché del navegador, establecido con las cabeceras Cache-Control y Expires mediante mod_expires o mod_headers, indica a los navegadores que reutilicen recursos estáticos como imágenes y fuentes en lugar de volver a descargarlos en cada visita. Juntas, son algunas de las mejoras de velocidad de mayor impacto y menor esfuerzo disponibles.

Sin embargo, .htaccess tiene un coste oculto en sí mismo. Como Apache debe comprobar si hay un archivo .htaccess en cada directorio a lo largo de la ruta de cada petición, tener AllowOverride habilitado añade búsquedas en el sistema de archivos a cada petición. En un sitio de mucho tráfico que controles, mover estas directivas a la configuración principal del servidor y poner AllowOverride None es medibles más rápido. En el alojamiento compartido normalmente no tienes opción, y la comodidad pesa más que la sobrecarga, pero vale la pena saber por qué .htaccess se desaconseja en servidores con rendimiento crítico.

Seguridad, páginas de error y control de acceso

Más allá de las redirecciones y el rendimiento, .htaccess se usa mucho para reforzar y pulir un sitio. Las páginas de error personalizadas, establecidas con la directiva ErrorDocument, sustituyen las desangeladas pantallas de error por defecto de Apache por páginas con tu marca para las respuestas 404 y 500, lo cual es mejor tanto para los usuarios como para la seguridad. La protección contra hotlinking usa RewriteCond sobre la cabecera Referer para impedir que otros sitios incrusten tus imágenes y consuman tu ancho de banda. También puedes enviar cabeceras de seguridad como X-Frame-Options, Content-Security-Policy y Strict-Transport-Security a través de la directiva Header.

Para el control de acceso, .htaccess puede restringir un directorio por dirección IP o exigir una contraseña mediante .htpasswd, y puede bloquear los escaneos de enumeración de autores que sondean en busca de nombres de usuario en los sistemas de gestión de contenidos. Estos controles son realmente útiles, pero recuerda que solo se ejecutan cuando Apache sirve la petición por la ruta normal; combínalos con una seguridad adecuada a nivel de aplicación en lugar de confiar solo en .htaccess.

La sintaxis no perdona: prueba antes de confiar

El mayor riesgo con .htaccess es que un error de sintaxis normalmente no falla en silencio. En su lugar, provoca un error 500 Internal Server Error en cada página de ese directorio, dejando todo el sitio fuera de línea hasta que se arregle el archivo. No hay paso de compilación ni validación antes del despliegue, así que una errata, un módulo ausente o una directiva que tu proveedor haya deshabilitado pueden romperlo todo al instante. Las directivas de Apache también dependen del orden: las reglas de reescritura se evalúan de arriba abajo, y una regla amplia colocada antes de una específica puede tragarse peticiones que la específica debía capturar.

El flujo de trabajo seguro es hacer siempre una copia de seguridad del .htaccess existente antes de cambiarlo, desplegar los cambios en ventanas de poco tráfico y cargar el sitio inmediatamente después para confirmar que sigue respondiendo. Si ves un error 500, restaura primero la copia de seguridad y depura después. Cuando una directiva depende de un módulo como mod_rewrite o mod_deflate, confirma que tu proveedor tiene ese módulo habilitado, ya que las reglas para un módulo ausente pueden dar error.

Preguntas frecuentes

¿Qué reglas puede crear este generador?
Construye reglas comunes de Apache, incluidas forzar o eliminar www, forzar HTTPS, redirecciones 301 y 302, compresión GZIP, control de caché, protección contra hotlinking, páginas de error personalizadas, tipos MIME y archivos de índice predeterminados.
¿Cuál es la diferencia entre una redirección 301 y una 302?
Una 301 es una redirección permanente que transmite el valor SEO a la nueva URL, mientras que una 302 es temporal e indica a los buscadores que la URL original volverá.
¿Dónde coloco el archivo .htaccess generado?
Colócalo en el directorio raíz de tu sitio web en un servidor Apache. Las reglas surten efecto de inmediato, así que haz primero una copia de seguridad de cualquier .htaccess existente.
¿Funciona esto en Nginx u otros servidores?
No. El formato .htaccess es específico de Apache (y de servidores compatibles con mod_rewrite). Nginx usa en su lugar su propia sintaxis de configuración.
¿Se envía el código generado a algún sitio?
No. Las reglas se ensamblan en tu navegador a partir de las opciones que seleccionas, por lo que no se sube nada, y la herramienta es de uso gratuito sin registro.

Herramientas relacionadas

Sigue trabajando con estas prácticas herramientas

Verificador de Cadenas de Redirección URL

Generador de Meta Tags

Generador de Robots.txt

Open Graph Previewer

Codificador/Decodificador de Entidades HTML

Visor de Cabeceras HTTP