Попытка заставить Nginx преобразовать URL-адрес, например, из example.com/$uri example.com/path/$uri

Попытка заставить Nginx преобразовать URL-адрес, например, из example.com/$uri example.com/path/$uri

при попытке доступа к example.com без "path" (example.com/path) мне нужно, чтобы Nginx добавил путь к URL, если он уже там, то проигнорируйте перезапись. Любая помощь будет приветствоваться.

Я пытался вернуться

возвращает 301 $scheme://example.com/path$request_uri; и просто перенаправляет, пока не будет достигнут предел в 10

Я тоже пытался переписать, но у меня тоже явно не получается.

топология - [прокси] -> [веб-сервер]. Я пробовал делать перенаправление на обоих, не уверен, следует ли мне делать преобразование на прокси или веб-сервере.

решение1

Если вы хотите проксировать свои запросы в бэкэнд-приложение, вы можете использовать

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

Правило перезаписи также возможно, используяотрицательный просмотр впередрегулярное выражение, однако производительность будет несколько ниже, чем в первом примере:

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

Связанный контент