我在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,但结果仍然相同。
答案 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;
}