Intentando que Nginx transforme una URL, es decir, desde example.com/$uri example.com/path/$uri

Intentando que Nginx transforme una URL, es decir, desde example.com/$uri example.com/path/$uri

cuando intento acceder a example.com sin la "ruta" (example.com/path), le pedí a Nginx que agregara la ruta a la URL; si ya está allí, ignore la reescritura. Cualquier ayuda sería bienvenida.

he intentado volver

devolver 301 $esquema://example.com/path$request_uri; y simplemente redirige hasta alcanzar el límite de 10

También he intentado reescribir pero claramente tampoco lo estoy haciendo bien.

la topología es [proxy] -> [servidor web]. Intenté realizar la redirección en ambos, no estoy seguro si debería realizar la transformación en el proxy o en el servidor web.

Respuesta1

Si desea enviar sus solicitudes a la aplicación backend, puede usar

location / {
    proxy_pass http://upstream/path/;
}
location /path/ {
    proxy_pass http://upstream;
}

También es posible reescribir la regla usandoanticipación negativaexpresiones regulares, sin embargo, el rendimiento será algo menor que en el primer ejemplo:

rewrite ^((?!/path/).*) /path$1 ...

información relacionada