使所有子域与nginx使用相同的文档根

我在我的的* .conf文件中有以下内容:

server { listen 80; server_name domain.tld; access_log /var/log/nginx/domain.tld.accesslog; root /var/www/domain.tld; index index.htm index.html; } 

我的问题是…如果我想让所有子域使用与domain.tld相同的文档根(和一般的相同设置)呢?

我试过这个:

 server { listen 80; server_name domain.tld; server_name *.domain.tld; access_log /var/log/nginx/domain.tld.accesslog; root /var/www/domain.tld; index index.htm index.html; } 

但是,即使在重新加载后,这也行不通。 有任何想法吗?

有特殊的语法 “糖”来处理这个优雅:

 server { listen 80; server_name .domain.tld; # ← this one's sweety access_log /var/log/nginx/domain.tld.accesslog; root /var/www/domain.tld; index index.htm index.html; } 

但是如果你是在编译器之外的程序员,在空闲时间内计算CPU周期,那么你可能想简单地使用简短的符号来明确地列出服务器的名字 (10×2 @ cnst )。

  server_name domain.tld; server_name *.domain.tld; 

我认为以上是问题。 试试这个:

  server_name domain.tld *.domain.tld;