2

在查看 nginx 的error_page指令的文档时,似乎必须手动列出 nginx(或上游服务器)可能返回的每个可能的状态代码。

例如:

error_page   404          /404.html;
error_page   502 503 504  /50x.html;
error_page   403          http://example.com/forbidden.html;
error_page   404          = @fetch;

是否有为所有未直接指定的状态代码生成通配符...例如:

error_page   404          /404.html;
error_page   5xx          /50x.html;

或者

error_page   404          /404.html;
error_page   502 503 504  /50x.html;
error_page   @catchall    /5xx.html;
4

1 回答 1

2

这不可能。

此外,不建议盲目列出所有代码,因为

  • nginx 允许重新定义所有响应代码,包括那些你真的不想重新定义的代码,除非在一些非常特殊的情况下(例如,你通常不想重新定义 304(未修改),并且可能不会重新定义 302(找到),除非有是非常具体的原因);
  • 重新定义一些错误代码可能弊大于利(例如重新定义 400 (Bad Request) 是一个坏主意)。
于 2012-08-17T17:43:55.820 回答