Welcome! Log In Create A New Profile

Advanced

Re: регулярки в server name

July 02, 2012 12:08PM
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 {
server_name site.ru www.site.ru
sub1.site.ru sub2.site.ru
...
;
}

server {
server_name ~^www.....
}

--
Igor Sysoev

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Re: регулярки в server name

Igor Sysoev July 02, 2012 12:08PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 228
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready