Если нет возможности поставить 1.11.0, то нужную логику можно реализовать
на нескольких map + set
2016-10-20 17:30 GMT+07:00 YuriV <nginx-forum@forum.nginx.org>:
> Всем привет.
> Наверное тема баянистая, но что-то никак не выходит каменный цветок :(
> Итак, есть nginx 1.8.0 или 1.10.2, ну и регулярка в мапе не работает
> нивкакую:
>
> map $http_host $new_host {
> ~*^resources\.(?P<dom1>.+) res.$dom1;
> ~*^(www\.)?(?P<dom>.+) proxy.$dom;
> default $http_host; }
>
> Читал многие форумы, у некоторых почему-то именованные группы работали. Но
> тут хоть убейся - не работает и все - вместо переменной просто строка $dom
> или $dom1 подставляется.
>
> Вот цитата и мана (http://nginx.org/ru/docs/http/ngx_http_map_module.html)
> :
> Перед регулярным выражением ставится символ “~”, если при сравнении следует
> учитывать регистр символов, либо символы “~*” (1.0.4), если регистр
> символов
> учитывать не нужно. Регулярное выражение может содержать именованные и
> позиционные выделения, которые могут затем использоваться в других
> директивах совместно с результирующей переменной.
>
> Ну про позиционные выделения уже было давно сказано, что работать никогда
> не
> будет. Но вот про именованное выделение как раз утверждалось, что должно
> работать..
>
> Posted at Nginx Forum: https://forum.nginx.org/read.
> php?21,270436,270436#msg-270436
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru