我有一个 nginx 设置,需要将特定的 url 路径映射到服务器路径。例如,我需要example.test/myapp/
转到服务器中的以下目录:/apps/myapp/web
我尝试添加以下位置块:
location /myapp/
{
root /apps/myapp/web;
}
Run Code Online (Sandbox Code Playgroud)
但如果我去example.test/myapp/
或者example.test/myapp
我会得到404。
据我所知,根据文档,该位置应该捕获以 开头的路径的任何内容,/myapp/
并且它是服务器中唯一的位置块,因此不会发生冲突。另外,我尝试更改位置以指向根(即location /
),并且它工作正常,因此这不是服务器路径错误或丢失文件的问题。我缺少什么?
nginx 使用以下策略解析文件路径:
root
指令中的路径现在,就你的情况而言:
root
是/apps/myapp/web
。example.test/myapp/
是/myapp/
.因此,nginx 在目录中查找/apps/myapp/web/myapp/
该请求的文件。
如果您希望/myapp/
URI 从目录中获取文件/apps/myapp/web/
,则需要使用以下alias
指令:
location /myapp/ {
alias /apps/myapp/web/;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11982 次 |
最近记录: |