位置内的根指令被忽略

时间:2019-02-08 11:58:41

标签: web nginx server

我在nginx中遇到问题,其中忽略了位置内部的root指令。这是相关设置的代码段

  root /apps/web-ui/latest/;


  location /drop-3 {
    root /apps/web-ui/drop-3/;
    try_files $uri $uri/ /index2.html;
  }

  location / {
    try_files $uri $uri/ /index.html;
  }

当我访问mysite.com/drop-3/testing时,我得到了404,日志显示nginx试图访问“ /apps/web-ui/latest/index2.html”

我尝试在/ drop-3位置使用别名和root,但结果仍然相同。

1 个答案:

答案 0 :(得分:0)

除非drop-3的文件位于/apps/web-ui/drop-3/drop-3/中,否则root语句的值将错误。

通过将root值与请求的URI串联来构造文件的路径。有关详细信息,请参见this document

try_files语句上的参数是URI。 index2.html文件夹中drop-3的正确URI为/drop-3/index2.html。有关详细信息,请参见this document

例如:

location /drop-3 {
    root /apps/web-ui;
    try_files $uri $uri/ /drop-3/index2.html;
}