es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Apache / .htaccess | ¿Cómo reescribir una URL pero aún así mantener la URL anterior?

Tengo una configuración un tanto inusual en mi sitio web:

  • site.tld = Sitio web de Gatsby con algunas páginas estáticas como /example1 y /example2, etc.
  • site.tld/blog = Un sitio web de WordPress

Ahora quería que los usuarios visitaran una nueva página site.tld/mynewpage que EN REALIDAD es una página en el sitio web de WordPress. Así que la URL real es site.tld/blog/mynewpage.

Para lograr esto, he definido esta regla:

RewriteRule ^mynewpage/$ /blog/mynewpage/ [L]

Lo cual funciona de alguna manera. Me permite ver la página de WordPress deseada cuando navego a site.tld/mynewpage.

Mi expectativa habría sido que si ahora navego a site.tld/blog/mynewpage, me daría un error 404 o me redirigiría automáticamente a site.tld/mynewpage. Pero nada de eso sucede. La barra de direcciones sigue diciendo site.tld/blog/mynewpage y veo esa página correctamente. Así que ahora tengo dos enlaces apuntando a mynewpage. Para SEO eso no es gran cosa, ya que puedo establecer la URL canónica como site.tld/mynewpage, pero me molesta que esta “vieja URL” < code>site.tld/blog/mynewpage todavía esté disponible.

¿Hay alguna forma de solucionar esto? Ingenuamente intenté hacer una redirección desde site.tld/blog/mynewpage a site.tld/mynewpage, pero eso me dio un “demasiadas redirecciones”, lo cual creo que se debe a que es un bucle infinito.

Cualquier ayuda es apreciada =)

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para lograr el resultado deseado donde la visita a site.tld/blog/mipáginanueva redirecciona a site.tld/mipáginanueva, puedes utilizar la siguiente regla en tu archivo .htaccess:

    RewriteRule ^blog/mipáginanueva$ /mipáginanueva [R=301,L]

    Esta regla redireccionará cualquier solicitud a site.tld/blog/mipáginanueva a site.tld/mipáginanueva utilizando una redirección 301, que es la forma recomendada de redireccionar con fines de SEO.

    Asegúrate de colocar esta regla antes de tu regla existente para site.tld/mipáginanueva, de modo que tenga prioridad y sea procesada primero.

Comments are closed.