Subdomínios Nginx e regras de reconfiguração

2

Eu tenho tentado configurar o Nginx para fazer o que eu tenho atualmente configurado no Apache, mas sem sorte até agora.

Eu gostaria de http: //$1.$2.mas.example.com (onde $ 1 e $ 2 é qualquer subdomínio) para apontar para root com um valor de / home / webcontent / $ 1 / mas / $ 2 / html

Alguma sugestão de como conseguir isso?

    
por daLizard 16.09.2010 / 12:30

2 respostas

2

Aqui está uma maneira simples de fazer isso .. não como você definiu mas está usando o hostname inteiro como um diretório .. Eu vou olhar mais profundamente se nginx pode fazer o que você quer. Eu sei que isso pode ser feito

server {
    listen       80;
    server_name  _;

    location / {
        root   /tmp/$host;
        index  index.html index.htm;
    }
}

Isso servirá conteúdo se você clicar no link em /tmp/host1.domain.com/index.html

EDITAR

Aqui está o que você quer fazer

server {
    listen       80;
    server_name  _;

    if ($host ~ (.*)\.(.*)\.domain.com) {
            set $myroot /tmp/$1/mas/$2;
    }

    location / {
        root $myroot;
        index  index.html index.htm;
    }
}
    
por 16.09.2010 / 14:46
0

Desde o nginx 0.7.40 você pode usar nomes de servidores de expressões regulares.

Então, o seguinte pode funcionar (não testado):

server {
  listen 80;
  server_name ~^(\w+)\.(\w+)\.mas\.example\.com$
  root /home/webcontent/$1/mas/$2/html
}

Veja o link

    
por 23.02.2012 / 13:55