自訂錯誤處理常式頁面

若要建立可呈現不同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偵錯篩選器一律會停用(如果您將其設定為啟用的話)。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f