我有一个域名example.com
我想要有 2 个子域名:a.example.com
和 分别b.example.com
指向目录/var/www/a
和。/var/www/b
因此我使用这个 nginx 配置:
server {
server_name a.example.com;
root /var/www/a;
try_files $uri /index.html;
}
server {
server_name b.example.com;
root /var/www/b;
try_files $uri /index.html;
}
并且它按预期工作。
但当我打开c.example.com
它呈现/var/www/a/index.html
请注意,我没有为指定任何规则c.example.com
。
那么为什么它表现得好像匹配一样a.example.com
?
当没有其他匹配项时,nginx 是否会将第一条规则视为默认规则?——即使server_name
该规则中的指令实际上与 URL 不匹配?