需要帮助在 NGINX 中使用不同的根目录

Need help in using a different root for a location in NGINX

我有一个指向 /var/www 的域 (https://somedomain.com/) 的站点配置,但我希望将位置 /clientfolder 重定向到 /home/clientfolder/website/

我的问题是每当收到请求时,例如 https://somedomain.com/clientfolder/index.html 守护进程正在 /home/clientfolder/website/clientfolder/index.html

寻找文件

所以我尝试使用重写指令:

location /clientfolder {
    rewrite ^/clientfolder/(.*)$ / last;
    root /home/clientfolder/website
}

但现在 https://somedomain.com/clientfolder/index.html 在 /var/www/index.html

加载文件

如果 /clientfolder 位置匹配,是否有除 rewrite 之外的其他指令允许我从文件路径中删除 "clientfolder"?


更新:我设法让它工作,但感觉完全不对:

location /clientfolder/website {
    root /home;
}
location /clientfolder {
    rewrite ^/clientfolder/(.*)$ /clientfolder/website/;
}

如果以 /clientfolder 开头的 URI 位于 /home/clientfolder/website,您应该使用 alias 指令。

例如:

location /clientfolder {
    alias /home/clientfolder/website;
}

详情见this document