Quantcast
Channel: Nginx Forum - Nginx Mailing List - Russian
Viewing all articles
Browse latest Browse all 3102

Директива map и regex capturing groups не дружат (4 replies)

$
0
0
Всем привет.
Наверное тема баянистая, но что-то никак не выходит каменный цветок :(
Итак, есть 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), если регистр символов учитывать не нужно. Регулярное выражение может содержать именованные и позиционные выделения, которые могут затем использоваться в других директивах совместно с результирующей переменной.

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

Viewing all articles
Browse latest Browse all 3102

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>