ПРОЕКТЫ 


  АРХИВ 


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]

Re: Аналог vhost_alias - map?



Yury Yakubovsky wrote:
Вроде можно реврайтом разбирать $http_host


Но мне надо возможность блокировать выборочно. А не знаю как это
реврайтом делать чтобы не сильно много отрицаний в конфиге прописывать

Потому у меня так пашет:

 #spisok domenov
 map $http_host $domen  {
 hostnames ;
 include conf/conf_domen/spisok.conf;
 }

 # spisok klientov
 map $http_host $root  {
 hostnames ;
 include conf/conf_domen/example.com.conf;

 }

 #spisok subdomenov
 map $http_host $sub  {
 hostnames ;
 include conf/conf_subdomen/example.com.conf;
}

         location / {
             root   /home/$domen/$root/www/$sub;
             index  index.html index.htm;
         }



Ну и соответственно добавляете строчки в нужный файл
В spisok.conf
*.example.com  example.com;

В conf/conf_domen/example.com.conf;
*.test1.example.com test1;

В conf/conf_subdomen/example.com.conf;
www3.test1.example.com www3;


В итоге получим
$domen = example.com;
$root = test1;
$sub  = www3;


Ну и путь получиться
root   /home/example.com/test1/www/www3;


В апаче есть vhost-alias который может выкусывать указаную часть из $http_host и использовать как имя в директиве докрут

Добрые люди сказали что в nginx этим может заниматся директива map
однако как её заставить это делать я так и непонял - и вообще сложилось ощущение что она вовсе не для этого.

Смысл задачи таков есть *.somehost.zone
для всех * разные папки докрут остальное всё идентичное как правильно организовать такуюже схему как в апаче средствами nginx?






о очень даже неплохо придумано
можно даже формочку со скриптом сбацать чтоб добавлять/удалять хосты
скриптиком :)




 




Copyright © Lexa Software, 1996-2009.