Nginx: regex no server_name
Português
Pequena dica para utilizar expressões regulares na diretiva server_name do Nginx.
Usando um diretório específico para cada subdomínio:
1
2
3
4
5
server {
listen 80;
server_name ~^(.*)\.project\.com$;
root /home/www/project/$1;
}
Definindo uma variável de ambiente em um projeto único:
1
2
3
4
5
6
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:
1
2
3
4
5
server {
listen 80;
server_name ~^(.*)\.(.*\..*)$;
root /home/www/$2/subdomains/$1/public_html;
}
Testado no Nginx 1.4.x.