Nginx redirige una ruta a otra

Pregunta:

Estoy seguro de que esto se ha preguntado antes, pero no puedo encontrar una solución que funcione.

Un sitio web ha cambiado los servicios CMS, pero tiene el mismo dominio, ¿cómo configuro una reescritura de nginx para una sola página?

P.ej

Página antigua

http://sitedomain.co.uk/content/unique-page-name

Nueva pagina

http://sitedomain.co.uk/new-name/unique-page-name

Tenga en cuenta que no quiero que todo dentro de la página de contenido sea redirigido, sino literalmente solo la URL mencionada anteriormente. Tengo alrededor de 9 redireccionamientos para configurar, ninguno de los cuales encaja en un patrón.

¡Gracias!

Editar: encontré esta solución, que parece estar funcionando, excepto por el hecho de que redirige sin una barra:

if ( $request_filename ~ content/unique-page-name/ ) {
   rewrite ^ http://sitedomain.co.uk/new-name/unique-page-name/? permanent;
}

Pero esto redirige a:

http://sitedomain.co.uknew-name/unique-page-name/

Respuesta:

Cita directa de Escollos y errores comunes: impuestos reescribe :

Al usar la directiva de retorno, podemos evitar por completo la evaluación de expresiones regulares.

Utilice return lugar de rewrite para redireccionamientos permanentes. Aquí está mi enfoque para este caso de uso …

location = /content/unique-page-name {
  return 301 /new-name/unique-page-name;
}

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım