Re: map и regexp

Mikhail Mazursky ash2kk на gmail.com
Чт Апр 28 15:15:34 MSD 2011


28 апреля 2011 г. 17:07 пользователь Igor Sysoev <igor at sysoev.ru> написал:
> 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;

Спасибо!


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