Re: map и regexp

Igor Sysoev igor на sysoev.ru
Чт Апр 28 15:07:47 MSD 2011


On Thu, Apr 28, 2011 at 05:05:04PM +0600, Mikhail Mazursky wrote:
> 28 апреля 2011 г. 15:14 пользователь Igor Sysoev <igor at sysoev.ru> написал:
> > On Thu, Apr 28, 2011 at 02:58:38PM +0600, Mikhail Mazursky wrote:
> >> Здравствуйте!
> >>
> >> Судя по чейнджлогу в 0.9.6+ map поддерживает регулярные выражения.
> >>
> >> Подскажите пожалуйста вот такая конструкция будет работать? Сам
> >> проверить пока не могу т.к. нет свежей версии nginx под рукой.
> >>
> >> map $host $var_from_host {
> >>     ^(.+?)\.domain\.tld$ $1;
> >> }
> >>
> >> Не хочу использовать регулярки в server_name.
> >
> >     default                      "";
> >     ^(<?NAME>.+?)\.domain\.tld$  $NAME;
> 
> Не работает:
> # sudo service nginx restart
> Restarting nginx: nginx: [emerg] unknown "name" variable
> nginx: configuration file /etc/nginx/nginx.conf test failed
> 
> Полный конфиг:
> user www-data;
> worker_processes  1;
> 
> error_log  /var/log/nginx/error.log;
> pid        /var/run/nginx.pid;
> 
> events {
>     worker_connections  1024;
>     # multi_accept on;
> }
> 
> http {
> 
>     map $host $domainId {
> 	default		"";
> 	^(?<name>.+?)\.test$ $name;
>         #пробовал ^(?P<name>.+?)\.test$ $name;
>         #пробовал ^(<?name>.+?)\.test$ $name; - это была опечатка?
>     }
> }

- 	^(?<name>.+?)\.test$ $name;
+ 	~^(?<name>.+?)\.test$ $name;


-- 
Igor Sysoev



Подробная информация о списке рассылки nginx-ru