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.