ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: nginx-ru@xxxxxxxxx
  • Subject: регулярки в server name
  • From: "playnet" <nginx-forum@xxxxxxxx>
  • Date: Mon, 2 Jul 2012 11:35:03 -0400 (EDT)
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=YA7TDiG2oD43qGyQ+KJo4RN0/8mLkz5UgcXmRMjhLEI=; b=JExrOqHfKyrggNGid5L5lGVRv9g6TsKp9oa/NpmWIlp6gHNU0vpmWs2kvTekiuNkQKGf7nbqQlEq5Z2aR7WlvQY1RhleKkX8leoH2Ag7T1hZ8VRgi4K6D78e46GHq/ej;

Согласно документации, в 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+ раз...

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,228177,228177#msg-228177

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.