У меня следующая конфигурация 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.