Аналог vhost_alias - map?

Yury Yakubovsky support at besthosting.com.ua
Wed Jan 24 11:56:50 MSK 2007


Вроде можно реврайтом разбирать $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?
> 
> 
> 







More information about the nginx-ru mailing list