如何将staging.example.com/siteA形式的URI映射到位于/var/www/siteA的虚拟服务器?

主要限制是我不想为siteA创建一个子域。到目前为止,我所见过的nginx.conf的所有示例都依赖于具有子域来进行映射。

谢谢

最佳答案

您可以在location块中使用root directive,如下所示:

server {
    server_name staging.example.com;
    root /some/other/location;
    location /siteA/ {
        root /var/www/;
    }
}


然后http://staging.example.com/foo.txt指向/some/other/location/foo.txt,而http://staging.example.com/siteA/foo.txt指向/var/www/siteA/foo.txt

请注意,文件系统上仍应存在siteA目录。如果要http://staging.example.com/siteA/foo.txt指向/var/www/foo.txt,则必须使用alias directive

location /siteA/ {
    alias /var/www;
}

08-03 12:56