为什么 try_files 将每个路径附加在一起?

Tom*_*Tom 2 nginx

我正在使用try_files这样的:

http {
  服务器 {
    error_log /var/log/nginx 调试;
    听 127.0.0.1:8080;
    地点 / {
      索引关闭
      default_type 应用程序/八位字节流;
      try_files /files1$uri /files2/$uri /files3$uri;
    }
  }
}

在错误日志中,它显示了以下内容:

*[错误] 15077#0:45399 重写或内部重定向循环,同时内部重定向到“/files1/files2/files3/path/to/my/image.png”,客户端:127.0.0.1,服务器:,请求:“GET /path/to/my/image.png HTTP/1.1", 主机: "mydomain.com", 引用: " http://mydomain.com/folder "

谁能告诉我为什么 nginx 正在寻找/files1/files2/files3/path/to/my/image.png而不是/files1/path/to/my/image.png,/files2/path/to/my/image.png/files3/path/to/my/image.png

谢谢

VBa*_*art 7

http://nginx.org/r/try_files

syntax:     try_files file ... uri;
            try_files file ... =code;
Run Code Online (Sandbox Code Playgroud)

最后一个参数指定内部重定向的返回码或 URI。在你的情况下,它是/files3$uri.

也许你真的想要这个: try_files /files1$uri /files2$uri /files3$uri =404;