自訂錯誤處理常式頁面
若要建立可呈現不同HTTP錯誤的自訂錯誤處理常式,請從複製自訂指令碼 /libs/sling/servlet/errorhandler
至下的相同位置 /apps.
說明 description
環境
Experience Manager
問題/症狀
如何建立可呈現不同HTTP錯誤的自訂指令碼或錯誤處理常式?
解決方法 resolution
預設的錯誤處理常式指令碼位於 /libs/sling/servlet/errorhandler
.
您可以複製要自訂的指令碼,以覆蓋預設錯誤處理 /libs/sling/servlet/errorhandler
至下的相同位置 /apps
(即 /apps/sling/servlet/errorhandler
)。 如果此路徑不存在(預設為不存在),請建立此路徑。
例如,您可以複製以自訂404錯誤的處理 /libs/sling/servlet/errorhandler/404.jsp
至 /apps/sling/servlet/errorhandler/404.jsp
此 http 500 錯誤是由伺服器端例外狀況所造成。 當請求處理導致例外狀況時,Apache Sling架構CQ會根據例外狀況的紀錄並傳回 http錯誤碼500 以及回應內文中的例外狀況棧疊追蹤。
若要處理500個錯誤,錯誤處理常式指令碼的檔案名稱必須與exception類別(或其超級類別)相同。 例如,若要處理所有例外狀況,請建立指令碼 /apps/sling/servlet/errorhandler/Throwable.jsp
.
請參閱 Sling錯誤處理 以取得其他資訊。
注意: 只有在下列情況下才會使用500.jsp HttpServletResponse.sendError(500) 明確執行,即從例外狀況收集器執行。否則,只有回應程式碼會設為500,但 500.jsp
不會執行。 在此情況下,您可以新增 Exception.jsp 以處理所有這些例外。
注意: 在製作執行個體上,預設會啟用CQ WCM偵錯篩選器。 這會一律產生回應代碼200,並取得預設Errorhandler ,以將完整棧疊追蹤寫入回應。 在發佈執行個體上, CQ WCM偵錯篩選器一律會停用(如果您將其設定為啟用的話)。