2012-08-17 54 views
1

查看nginx的error_page指令的文檔時,似乎必須手動列出nginx(或上游服務器)可能返回的每個可能的狀態碼。nginx:是否可以有一個'全部捕獲'error_page?

例如:

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; 

回答

2

這是不可能的。

此外,不建議盲目列出所有代碼,因爲

  • nginx的允許重新定義所有響應代碼,包括你真的不希望重新定義者除了少數非常特殊的情況下(如除非有非常具體的原因,否則通常不需要重新定義304(未修改),並且可能不是302(已找到));
  • 重新定義一些錯誤代碼可能會導致更多的傷害而不是好的(例如重新定義400(錯誤請求)是一個壞主意)。
相關問題