NGINX 如何根据主机设置根目录

NGINX how to set root dir depending on host

服务器上的所有网站都有一个 nginx 配置。
所有网站都有一个根目录,只有一个网站有另一个根目录。
如何为该主机设置根目录?

此配置 returns 一个错误:"root" directive is not allowed here

server {
    ...

    root "/webhome/$host/web";

    if ($host = site.example.com) {
        root /webhome/site.example.com/www;
    }
    
    ....

这个也试过没有成功:

location / {
    if ($host = site.example.com) {
        root /webhome/site.example.com/www;
    }
}

虽然这通常使用多个 server 块来解决,但您可以使用 map 块来评估 root 指令参数值:

map $host $siteroot {
    site.example.com  /webhome/site.example.com/www;
    default           /webhome/$host/web;
}
server {
    root $siteroot;
    ...