自訂錯誤處理常式頁面 | AEM

若要在Adobe Experience Manager中設定自訂錯誤處理常式,以產生不同的HTTP錯誤,請將自訂指令碼從/libs/sling/servlet/errorhandler複製到/apps.下的相同位置

說明 description

環境

Adobe Experience Manager

問題/症狀

如何建立可呈現不同HTTP錯誤的自訂指令碼或錯誤處理常式?

解決方法 resolution

預設錯誤處理常式指令碼位於/libs/sling/servlet/errorhandler下。

您可以從/libs/sling/servlet/errorhandler將您要自訂的指令碼複製到/apps下的相同位置(即/apps/sling/servlet/errorhandler),以覆蓋預設錯誤處理。 如果此路徑不存在(預設為不存在),請建立此路徑。

例如,您可以複製/libs/sling/servlet/errorhandler/404.jsp/apps/sling/servlet/errorhandler/404.jsp來自訂404個錯誤的處理

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