.htaccess múltiples redirecciones 301

.htaccess múltiples redirecciones 301

Estoy trasladando un blog alojado en un servidor Apache a un nuevo dominio.

Los enlaces permanentes se mantienen iguales para las publicaciones del blog, pero hay algunas páginas donde la URL cambiará en el nuevo dominio.

Mi pregunta es si lo siguiente es posible y cómo lo haría con las reglas de reescritura.

Los slugs/enlaces permanentes de URL de las publicaciones del blog y la mayoría de las páginas del dominio anterior permanecerán iguales en el nuevo dominio. Así que imagino que podría agregar una regla de redireccionamiento que redireccione desde https://huiskopenomteverhuren.nl/hacia, https://vastgoedmentor.comya que encontrará el mismo /slug en el nuevo dominio.

Algunas páginas del antiguo sitio web se han movido al nuevo enlace permanente. Por lo tanto, necesito reglas adicionales para redirigir, por ejemplo https://huiskopenomteverhuren.nl/kennisbank/, https://vastgoedmentor.com/resourcesy hacer esto también para algunas otras páginas.

Respuesta1

Puede crear múltiples RewriteRuledirectivas con expresiones regulares dentro de la configuración de su servidor. Debes comenzar con las redirecciones específicas con enlaces permanentes modificados. La redirección general para todas las demás páginas se puede agregar al final.

RewriteEngine On

RewriteRule ^/kennisbank(/.*)?$ https://vastgoedmentor.com/resources$1 [END,R=301]
RewriteRule ^/old2(/.*)?$       https://vastgoedmentor.com/new2$1      [END,R=301]
RewriteRule ^/old3(/.*)?$       https://vastgoedmentor.com/new3$1      [END,R=301]

RewriteRule ^/(.*)$           https://vastgoedmentor.com/$1           [END,R=301]

La notación de (/.*)?realizará la redirección con y sin una barra diagonal y agregará detalles de ruta adicionales a la nueva URL. Por lo tanto, recurrirá huiskopenomteverhuren.nl/kennisbank/something-or-nothinga vastgoedmentor.com/resources/something-or-nothing.

Más detalles sobre el RewriteRulese pueden encontrar en https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule

Como todas las reglas apuntan a un dominio diferente, no hay riesgo de caer en un bucle. Pero sigue siendo una buena idea agregar la ENDbandera a todas las reglas para evitar que se evalúen las reglas restantes. Además de la Lbandera, la ENDbandera también evita la evaluación de reglas adicionales en los archivos .htaccess.

Más detalles sobre las banderas se pueden encontrar en https://httpd.apache.org/docs/current/rewrite/flags.html

información relacionada