Назад | Перейти на главную страницу

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

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

server {
    listen 80;

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

Это хорошо работает для домашней страницы и при вводе 'http: // локальный / тест'Я получаю содержание http://www.example.com/ и URL остается 'http: // локальный / тест'.

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

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

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

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

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

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

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