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 (Not Modified) を再定義したくなく、おそらく 302 (Found) を再定義したくない場合を除きます)。非常に具体的な理由);
  • 一部のエラー コードを再定義すると、良いことよりも害が大きくなる可能性があります (たとえば、400 (Bad Request) を再定義することは悪い考えです)。
于 2012-08-17T17:43:55.820 に答える