Nginx 为什么将带有错误的页面重写到指定位置不';不行?
考虑nginx设置:Nginx 为什么将带有错误的页面重写到指定位置不';不行?,nginx,Nginx,考虑nginx设置: server { server_name abc.com; listen 80; location @namedlocation { proxy_pass google.com; } location ~ /some/url { rewrite /some/url /another/url break; error_page 418 = @namedlocation;
server {
server_name abc.com;
listen 80;
location @namedlocation {
proxy_pass google.com;
}
location ~ /some/url {
rewrite /some/url /another/url break;
error_page 418 = @namedlocation;
return 418;
}
}
如果我请求abc.com/some/url,那么到google.com/other/url的代理传递将不起作用。但是如果我使用try_文件指令
server {
server_name abc.com;
listen 80;
location @namedlocation {
proxy_pass google.com;
}
location ~ /some/url {
rewrite /some/url /another/url break;
try_files /NotImportantPath/ @namedlocation;
}
}
是的。你能解释一下这种行为的原因吗
关闭标志
中断
表示停止执行重写模块指令。有点奇怪,但是return
指令来自重写模块。@AlexeyTen,我使用try_files指令进行额外的I/O操作是真的吗?只要去掉break@AlexeyTen,如果在同一位置块中有多个重写,并且只能激活一个重写,该怎么办?例如:那么你做错了什么。用real rewritesFlagbreak
提出新问题意味着停止执行重写模块指令。有点奇怪,但是return
指令来自重写模块。@AlexeyTen,我使用try_files指令进行额外的I/O操作是真的吗?只要去掉break@AlexeyTen,如果在同一位置块中有多个重写,并且只能激活一个重写,该怎么办?例如:那么你做错了什么。用真实的重写提出新问题