自訂錯誤處理常式頁面 | 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偵錯篩選器一律會停用(如果您將其設定為啟用的話)。