Nginx: regex no server_name post

Pequena dica para utilizar expressões regulares na diretiva server_name do Nginx.

Usando um diretório específico para cada subdomínio:

server {
    listen 80;
    server_name ~^(.*)\.project\.com$;
    root /home/www/project/$1;
}

Definindo uma variável de ambiente em um projeto único:

server {
    listen 80;
    server_name ~^(.*)\.project\.com$;
    fastcgi_param CUSTOMER $1;
    root /home/www/project;
}

Você também pode utilizar a expressão para o domínio todo:

server {
    listen 80;
    server_name ~^(.*)\.(.*\..*)$;
    root /home/www/$2/subdomains/$1/public_html;
}

Testado no Nginx 1.4.x.

Tags: nginx

Comments

comments powered by Disqus