Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: регулярки в server name
On Jul 2, 2012, at 19:44 , Igor Sysoev wrote:
> On Jul 2, 2012, at 19:35 , playnet wrote:
>
>> Согласно документации, в server_name можно
>> использовать регулярки.
>> Понадобилось сделать редирект c урлов
>> вида www.sub.site.ru на sub.site.ru, при этом
>> сохранив работу www.site.ru. sub - доменов
>> более 50.
>>
>> Сам сайт описан как
>> server_name site.ru www.site.ru *.site.ru
>>
>> Сделал отдельный сервер с server_name
>> ~^www\.(w+)\.site.ru$;
>> по логике - имя корректное. Этот блок
>> идёт выше основного. При этом в него мы
>> не попадаем никогда. Как показало 4 часа
>> ковыряния, "у регэкспов в сервер_нейм
>> приоритет минимальный и туда попадаем
>> если нет ничего лучше". Есть
>> возможность выставить этому регэкспу
>> высокий приоритет? Или только изменить
>> главное описание, сделав его также
>> регэкспом и потеряв в
>> производительности?
>>
>> Использовать дефолтный сервер не
>> вариант - сайтов на сервере больше 20
>> плюс "по умолчанию" должно отдавать
>> ошибку. Сайтов с такой системой в
>> дальнейшем также будет больше одного.
>>
>> Второй вариант - сделать так нелюбимый
>> тут if ($http_host ~* ^www\.w+\.site\.ru)... и как
>> модифицировать $http_host? rewrite меняет
>> только uri.
>>
>> Третий - через встроенный perl. Не
>> хотелось бы, но если у кого такая схема
>> работает - просьба поделиться
>> вариантами.
>>
>> четвертый, совсем уж через 1 место -
>> описать каждый www-поддомен в отдельном
>> сервере.. 50+ раз...
>
> Как выглядит текущие server_name ?
Увидел. А какова цель описания *.site.ru ?
--
Igor Sysoev
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|