我正在使用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
?
谢谢
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;