Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx 为什么将带有错误的页面重写到指定位置不';不行?_Nginx - Fatal编程技术网

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;

考虑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;
        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 rewritesFlag
break
提出新问题意味着停止执行重写模块指令。有点奇怪,但是
return
指令来自重写模块。@AlexeyTen,我使用try_files指令进行额外的I/O操作是真的吗?只要去掉break@AlexeyTen,如果在同一位置块中有多个重写,并且只能激活一个重写,该怎么办?例如:那么你做错了什么。用真实的重写提出新问题