Regla de reescritura de Nginx para eliminar el nodo de ruta


20

Digamos que un usuario intenta acceder a una imagen determinada en mi sitio web utilizando la siguiente URL: http://www.mywebsite.com/blog/image1.jpg?someParam=100

Necesito una regla de reescritura para esto, eliminando el nodo 'blog' de la ruta:

http://www.mywebsite.com/image1.jpg?someParam=100

Respuestas:


27

Prueba este:

location /blog {
 rewrite ^/blog(/.*)$ $1 last;
}

Si necesita esto para más de un sitio, no puede simplemente ponerlo más alto en la jerarquía porque la cláusula de "ubicación" no puede especificarse globalmente, solo para un sitio específico. Si necesita agregar esta cláusula para dos sitios o más, puede colocar otro archivo de configuración y luego simplemente "incluirlo" en cada sitio que necesite esta redirección.


Esto funciona en el mismo servidor. ¿Cómo hacer que funcione para los diferentes dominios?
Autodidacta

1
Simplemente incluya el nuevo dominio como parte de la reescritura: rewrite ^/blog(/.*)$ https://blog.example.com$1 permanent;
Christophe
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.