自定义错误处理程序页面 | 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个错误,错误处理程序脚本的文件名必须与异常类(或其超类)相同。 例如,若要处理所有异常,请创建一个脚本/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