LINUX.ORG.RU

nginx перенаправление без смены url

 


0

2

есть сайт example.com мультиязычный (en, ru, de, fr), хочу сделать, что бы по домену example.de открывался сайт example.com/de и все его ссылки example.com/de/url - example.de/url, добавляю в Nginx

location = / {
  proxy_pass  http://example.com/de;
  proxy_set_header Host example.de;
}

location / {
  proxy_pass  http://example.com/de$uri;
  proxy_set_header Host example.de;
}

так главная открывается как надо, а вот страницы открываются в адресной строке - http://example.de/de/pricing и получаю 404, если убрать лишнюю de и открыть http://example.de/pricing то все ок, подскажите как мне убрать лишнюю de из $uri ?


как мне убрать лишнюю de из $uri

Это de генерируется не веб-сервером, а самим веб-приложением. Нормальное решение задачи - сделать, чтобы приложение генерировало правильные ссылки.

goingUp ★★★★★
()
Ответ на: комментарий от Garcia

Можно конечно, разными способами, но это костыль. Можно сделать редирект, можно просто детектить /de/ и делать proxypass на нужную страничку, еще Nginx может сам править ссылки в сгенерированном html. Готового конфига у меня нету.

goingUp ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.