Nginx自动域名redirect

我试图设置Nginxconfiguration自动redirect到我的静态子(site.domain.com)任何域/子域指向(CNAME)到/ var / www内的相应目录。 该目录将以指定的域名/子域名命名。 每当有人添加新域名时,我不想使用VirtualHost或更改/重新启动Nginx。

我偶然发现了这个答案,但是我还是不太明白。 我应该设置为根目录?

当前configuration:

server { server_name site.domain.com; listen 80 default_server; root /var/www/; index index.html index.htm; } 

 rewrite ^(.*)$ /$host/$1; 

添加上面提到的重写规则。 这工作如下。

xyz.foo.com/index.html将映射到/var/www/xyz.foo.com/index.html

需要注意的是,如果domain / subdomain目录不存在,nginx会抛出一个错误。