У меня следующая конфигурация 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 , что явно не работает. Возможно ли это вообще?
Любая помощь будет принята с благодарностью.
Я протестировал ваш код, и у меня он работает так, как вы его описываете:
location /test {
rewrite /test(.*) $1 break;
proxy_pass http://www.basicwebsiteexample.com;
}
Я звоню http: // localhost / test
и для таких подстраниц http: // localhost / test / media
.
Я не получаю перенаправления или перезаписи URL в моем браузере.
Если вы по-прежнему получаете перенаправление URL в своем браузере, должно быть перенаправление на проксируемом веб-сайте или в конфигурации nginx.