Nginx - 特定位置的另一个根

Nginx - another root for a specific location

我在下面有一些静态 html 文件:

/var/www/project1 

此项目的 Nginx 配置为:

server_name             www.project1.com project1.com;
root                    /var/www/project1;

location / {
    index           index.html;
}

我的目标是使用 nginx,这样当用户输入这个 url:

www.project1.com/project2

Nginx用的是另一个root,我试过:

 location /project2 {
     root /var/www/project2;
     index index.html;
}

但这不起作用。关于如何实现这一目标的任何想法?

根据你project2的配置

location /project2 {
    root /var/www/project2;
    index index.html;
}

Nginx 将在路径 /var/www/project2/project2/ 下为您对 project2 的请求寻找文件。所以如果你的project2在/var/www/project2下,正确的配置应该是

location /project2 {
    root /var/www;
    index index.html;
}

另一种方法是使用 alias 而不是 root

你的情况是alias /var/www/project2,勾选here