LINUX.ORG.RU
ФорумAdmin

Nginx. rewrite без изменения uri.

 ,


1

1

Добрый день!

Суть моей проблемы в следующем:

Есть nginx, который проксирует запросы на php5-fpm. Мне необходимо, чтобы запрос http://domain.ru/iframe/01/02/ передавался на бекенд (php5-fpm) в виде /01/02/?theme=iframe , НО! при этом чтобы в адресной строке ничего не изменялось, т.е. так и оставалось http://domain.ru/iframe/01/02/

Перепробовал уже кажется все варианты с директивой rewrite, Например такой:

rewrite ^/([a-zA-Z0-9]+)/([0-9]+)/([0-9]+)/$ /$2/$3?theme=$1 break;

но все они преобразовывают uri в адресной строке. Буду очень благодарен за любую помощь.

Может прокси попробовать?

alozovskoy ★★★★★
()

Прокси вот. То что нужно

location /url/path/for/proxy/ {
                 resolver 8.8.4.4;
                 proxy_pass  http://domain.ru/iframe/01/02/$uri?$args;
        }

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

Приходит тебе запрос по первому урлу, он(нжынск) его пробрасывает на proxypass(ничего ни куда не редиректит, урл в браузере остается таким же), получает ответ с того урла куда проксируеи, как то так я этт понимаю. пишу с утюга извини за разметку.

ggrn ★★★★★
()
Последнее исправление: ggrn (всего исправлений: 1)
Ответ на: комментарий от ggrn

Вот кстати у нас заказчик шлет еам постбэки(подтверждения о действии) на урл типа http://www.domain1.com, мы с этого домена съехали, но постбэки дотекают, так вот мы воткнули этот прокси на http://www.domain2.com и все рады.

ggrn ★★★★★
()
Последнее исправление: ggrn (всего исправлений: 1)

Используй $request_uri

anonymous
()

как-то так, не?

location ~ ^/iframe/([0-9]+)/([0-9]+)/$ {
    proxy_pass http://oool.ool/$1/$2?theme=iframe;
}
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.