Настройка обратного прокси-сервера nginx с перезаписью для применения ко всем ссылкам на сайте

У меня следующая конфигурация Nginx:

server {
    listen 80;

    location /test {
        rewrite /test(.*) /$1 break;
        proxy_pass "http://www.example.com/";
    }
}

Это хорошо работает для домашней страницы и при вводе " http: // localhost / test " я получаю содержимое http://www.example.com/ , а URL-адрес остается « http: // localhost / test ».

Круто, но когда я нажимаю ссылку в веб-сайт, скажем, / more_examples Я хочу, чтобы ссылка была переписана как таковая: http: // localhost / test / more_examples . На практике я получаю следующее: http: // localhost / more_examples , что явно не работает. Возможно ли это вообще?

Любая помощь будет принята с благодарностью.

5
задан 18 May 2017 в 16:31
1 ответ

Я протестировал ваш код, и у меня он работает так, как вы его описываете:

location /test {
  rewrite /test(.*) $1 break;
  proxy_pass http://www.basicwebsiteexample.com;
}

Я звоню http: // localhost / test и для таких подстраниц http: // localhost / test / media .

Я не получаю перенаправления или перезаписи URL в моем браузере.

Если вы по-прежнему получаете перенаправление URL в своем браузере, должно быть перенаправление на проксируемом веб-сайте или в конфигурации nginx.

0
ответ дан 3 December 2019 в 02:09

Теги

Похожие вопросы