我有一个 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 次 |
| 最近记录: |