如何将staging.example.com/siteA
表单的URI映射到位于/var/www/siteA
的虚拟服务器?
主要限制是我不想为siteA创建子域。到目前为止,我看到的所有nginx.conf示例都依赖于子域来进行映射。
由于
答案 0 :(得分:16)
您可以在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;
}