Inicio › Herramientas para desarrolladores › Generador de redirecciones htaccess y Nginx

Generador de redirecciones htaccess y Nginx

Añade tus URL antiguas y nuevas, marca las reglas generales del sitio que necesites, como forzar HTTPS o quitar www, y copia código de redirección listo para usar en Apache .htaccess, Nginx o Netlify y Cloudflare Pages. Los bucles y errores se señalan mientras escribes.

Última actualización:

1. Tu sitio
2. Reglas de redirección
Añadir en bloque desde una lista

Publicidad
Publicidad

Cómo usar Generador de redirecciones htaccess y Nginx

  1. Introduce tu dominio y marca las reglas generales que quieras, por ejemplo Forzar HTTPS y www → sin www.
  2. Añade reglas de redirección: la ruta antigua a la izquierda, la nueva ruta o URL completa a la derecha y el tipo de redirección. Termina una ruta con * para redirigir una carpeta entera.
  3. Pega una lista en Añadir en bloque si tienes muchas URL (un par 'antigua nueva' por línea).
  4. Pulsa Generar redirecciones y elige la pestaña de tu servidor: Apache .htaccess, Nginx o _redirects.
  5. Copia o descarga el código, súbelo a tu servidor y prueba algunas URL antiguas en una ventana privada del navegador.

Explicación de los códigos de estado de redirección

CódigoSignificadoCaché del navegadorMétodo de la solicitudÚsalo para
301Moved Permanently (movido permanentemente)Sí, a menudo durante mucho tiempoPuede cambiar POST a GETPáginas y sitios que se movieron definitivamente (la mayoría de redirecciones SEO)
302Found (temporal)No, salvo que se indiquePuede cambiar POST a GETMovimientos temporales, páginas de mantenimiento, campañas
307Temporary Redirect (redirección temporal)No, salvo que se indiqueSe conserva (POST sigue siendo POST)Movimientos temporales de formularios y endpoints de API
308Permanent Redirect (redirección permanente)SíSe conserva (POST sigue siendo POST)Movimientos permanentes de formularios y endpoints de API
410Gone (eliminado)SíNo es una redirecciónContenido eliminado a propósito, para que los buscadores lo retiren antes que con un 404

Los códigos de estado se definen en el RFC 9110. En los buscadores, Google trata 301 y 308 como señales fuertes de que la nueva URL debe sustituir a la antigua en los resultados, y 302 y 307 como señales temporales más débiles.

Cómo leer las reglas de Apache generadas

Una regla como RewriteRule ^blog/(.*)$ /articles/$1 [R=301,L] tiene tres partes:

  • Patrón ^blog/(.*)$: una expresión regular que se compara con la ruta sin la barra inicial cuando se usa en .htaccess. Los puntos y otros caracteres especiales de tus rutas se escapan (old-page\.html), así que . solo coincide con un punto real.
  • Destino /articles/$1: $1 inserta lo que haya capturado el grupo (.*), así que /blog/2024/hello se convierte en /articles/2024/hello.
  • Indicadores: R=301 envía una redirección 301, L detiene el procesamiento de más reglas, NE evita que Apache vuelva a codificar % en el destino, G responde 410 Gone y NC en una condición ignora mayúsculas y minúsculas.

El /? opcional antes de $ hace que coincidan tanto /old-page como /old-page/. Una línea RewriteCond solo se aplica a la RewriteRule que está justo debajo.

Lista de comprobación de redirecciones para migrar un sitio

  1. Haz una lista de todas las URL antiguas de tu sitemap, tus analíticas y las páginas con backlinks, y asigna cada una a la página nueva más parecida en lugar de enviarlo todo a la página de inicio.
  2. Redirige en un solo salto. Evita cadenas como antigua → intermedia → nueva; cada salto añade latencia y diluye la señal. El generador señala las cadenas entre tus reglas.
  3. Mantén las redirecciones al menos un año, e idealmente para siempre, porque los marcadores y los enlaces externos siguen usando las URL antiguas.
  4. Actualiza los enlaces internos y el sitemap para que apunten directamente a las nuevas URL en lugar de depender de redirecciones.
  5. Prueba con curl -I https://example.com/old-page: deberías ver HTTP/2 301 y un encabezado location: con la nueva URL.

Preguntas frecuentes

¿Qué tipo de redirección debo usar?

Usa 301 (permanente) cuando una página se ha movido definitivamente; los buscadores transfieren su posicionamiento a la nueva URL. Usa 302 o 307 para movimientos temporales, como mantenimiento o pruebas A/B. 308 es una redirección permanente que, como 307, conserva el método de la solicitud, algo importante para formularios y API que usan POST. Usa 410 Gone para páginas eliminadas a propósito sin sustituto.

¿Dónde pongo el código .htaccess?

Ponlo en el archivo .htaccess de la carpeta raíz de tu sitio web (a menudo public_html), por encima de cualquier regla añadida por un CMS como WordPress. El servidor debe usar Apache con mod_rewrite activado y permitir sobrescrituras (AllowOverride All). Guarda una copia de seguridad: un error de sintaxis en .htaccess provoca un error 500 en todo el sitio.

¿Cuál es la diferencia entre mod_rewrite y Redirect?

Redirect y RedirectMatch provienen de mod_alias y son simples y rápidas, pero no pueden comprobar el nombre de host ni HTTPS. RewriteRule de mod_rewrite sí puede, por eso los ajustes generales del sitio siempre la usan. Apache procesa las reglas de mod_rewrite antes que las de mod_alias, así que no dependas del orden entre ambas.

¿Cómo evito los bucles de redirección?

Un bucle ocurre cuando una URL se redirige a sí misma, directamente o a través de otras reglas, por ejemplo /a a /b y /b de vuelta a /a, o una regla de carpeta cuyo destino está dentro de la misma carpeta. El generador avisa de estos casos. Detrás de Cloudflare o de un balanceador de carga, usa la comprobación X-Forwarded-Proto para HTTPS, porque el propio servidor puede ver solo HTTP sin cifrar.

¿Se conservan las cadenas de consulta?

Con Conservar cadena de consulta activado, /old?id=5 redirige a /new?id=5. RewriteRule y Redirect de Apache conservan las cadenas de consulta por defecto, y el código de Nginx añade $is_args$args para hacer lo mismo. Desactiva la opción para eliminarlas en la salida de rewrite de Apache y de Nginx. Las redirecciones por ruta no admiten coincidencias con una cadena de consulta concreta.

¿Dónde van las reglas de Netlify y Cloudflare Pages?

Guarda el archivo como _redirects (sin extensión) en la carpeta que se publica, por ejemplo public o dist. Netlify también admite reglas a nivel de dominio, como de www a sin www; en Cloudflare Pages usa Bulk Redirects o Redirect Rules en el panel para eso, y en ambos HTTPS se aplica automáticamente.

¿Cómo pruebo mis redirecciones?

Abre la URL antigua en una ventana privada, o ejecuta curl -I https://example.com/old-page y comprueba el código de estado y el encabezado Location. Los navegadores almacenan en caché las redirecciones 301 de forma agresiva, así que prueba primero con 302 si no estás seguro y borra la caché después de cambiar una regla.

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Generadores de código →