Re: map и regexp
Mikhail Mazursky
ash2kk на gmail.com
Чт Апр 28 15:05:04 MSD 2011
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; - это была опечатка?
}
}
Система:
Linux ... 2.6.35-28-generic #50-Ubuntu SMP Fri Mar 18 18:42:20 UTC
2011 x86_64 GNU/Linux
Подробная информация о списке рассылки nginx-ru