LINUX.ORG.RU

NGINX. Выполнить RegEx над $request_uri и записать результат в переменную.

 , ,


0

0

Всем привет. Кто-нибудь может тыкнуть меня носом в раздел доки NGINX, где описано, как можно записать в переменную результат выполнения RegEx над $request_uri? Или это можно сделать только в OpenResty? Мне нужно преобразовать URI вида /а/{{id}} в /b/c/{{id}}.

Зачем записывать в переменную?

rewrite преобразует урлы как ты хочешь, но результат он не куда попало пишет, а либо в тот же $request_uri, либо делает http редирект на новый урл.

firkax ★★★★★
()

Из location c регулярным выражением можно использовать группы.

location ~ ^/(users)/v2/(.+)$ {
    proxy_pass http://app.domain.com/api/$1/v2/$2;
}

преобразовать URI вида /а/{{id}} в /b/c/{{id}}

это делается обычно с помощью rewrite

И map начиная с 1.11.0 умеет multiple capture groups

vel ★★★★★
()