自定义错误处理程序页面

描述 description

环境
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个错误,错误处理程序脚本的文件名必须与异常类(或其超类)相同。 例如,要处理所有异常,请创建一个脚本/apps/sling/servlet/errorhandler/Throwable.jsp。

请参阅 Sling错误处理 以了解其他信息。

注意:仅当显式执行HttpServletResponse.sendError(500)时(即,从异常捕获器执行)才使用500.jsp。
否则,仅将响应代码设置为500,但不执行500.jsp。
在这种情况下,您可以添加  Exception.jsp  以处理所有这些例外。

注意:在创作实例上,默认启用CQ WCM调试过滤器。 这始终会导致响应代码200,并采用将完整栈栈跟踪写入响应的默认Errorhandler。 在发布实例上, CQ WCM调试过滤器始终处于禁用状态(如果您将其配置为启用)。…

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