Isso pode ser feito pelo seguinte nginx conf:
server {
listen 80;
server_name mydomain.com *.mydomain.com;
set $path "default";
if ($host ~* ^([a-z0-9-]+)\.([a-z0-9-]+)\.mydomain.com$) {
set $path "$1/$2";
}
root /sites/$path;
}
O Nginx define a variável $path
de acordo com os agrupamentos na expressão regular correspondidos com a variável $host
, que é definida automaticamente pelo nginx (consulte Embedded Variables ). Definindo inicialmente $path
como "padrão", você pode veicular o conteúdo do diretório /sties/default
caso o $host
não corresponda ao regex.
Como alternativa, você pode usar correspondência de expressão regular na diretiva server_name
. Consulte Nomes de servidores Nginx para obter mais informações.