Nginx - 特定位置的另一个根

Mil*_*vic 5 nginx nginx-location

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

/var/www/project1 
Run Code Online (Sandbox Code Playgroud)

该项目的 Nginx 配置是:

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

location / {
    index           index.html;
}
Run Code Online (Sandbox Code Playgroud)

我的目标是使用 nginx,以便当用户输入此 url 时:

www.project1.com/project2
Run Code Online (Sandbox Code Playgroud)

Nginx使用另一个root,我尝试过:

 location /project2 {
     root /var/www/project2;
     index index.html;
}
Run Code Online (Sandbox Code Playgroud)

但这是行不通的。关于如何实现这一目标有什么想法吗?

Lut*_*ion 6

根据你的project2的配置

location /project2 {
    root /var/www/project2;
    index index.html;
}
Run Code Online (Sandbox Code Playgroud)

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

location /project2 {
    root /var/www;
    index index.html;
}
Run Code Online (Sandbox Code Playgroud)

另一种选择是使用alias而不是root.

你的情况是alias /var/www/project2,请检查这里