You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AEM链接检查器:如何阻止无效链接在发布实例中被移除

阻止AEM发布实例自动移除无效内部链接的解决方案

以下是几个经过验证的可行方案,按实现复杂度从低到高排序:

找到com.day.cq.rewriter.linkchecker.impl.LinkCheckerImpl这个OSGi配置,针对发布实例(通过run mode配置)修改以下参数:

  • 将removeInvalidLinks设置为false:直接阻止发布时移除无效链接标签、仅保留文本的行为。
  • 可选:将enableLinkValidation设置为false,完全禁用发布实例上的链接有效性检查,减少额外性能开销。

修改后保存配置,必要时重启Link Checker相关服务使其生效。

2. 重写核心链接组件的逻辑

如果使用AEM Core Components的Link组件,默认逻辑会在渲染时检查链接有效性并处理失效链接,可通过以下方式重写:

  • 创建自定义Link Sling Model,继承原Core Components的LinkModel,覆盖isValid()方法直接返回true,跳过有效性验证。
  • 或者在HTL模板中,不依赖模型的验证结果,直接输出完整链接标签:
<a href="${link.url}" ${link.htmlAttributes}>${link.text}</a>

避免使用原组件中基于有效性判断的条件渲染逻辑。

通过扩展AEM的Link Rewriter机制,实现自定义链接处理逻辑:

  • 创建自定义LinkTransformer,在transform()方法中跳过对无效链接的移除操作。
  • 在OSGi配置中调整Link Rewriter Pipeline的顺序,让自定义Transformer优先于默认的失效链接处理逻辑执行。

注意事项

  • 禁用自动移除无效链接后,发布页面会保留原始无效链接,可能导致用户访问时出现404错误,建议在作者端加强链接审核流程。
  • 所有配置修改建议通过AEM的Configuration Manager进行,避免直接修改系统文件,确保可维护性。

内容的提问来源于stack exchange,提问作者Duc Huynh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 03:15:50