如何将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;
}