0

在 CQ5.5 上安装 SP2.1 后,我们遇到了一个问题,该问题会影响已使用 CQ5 的“网站”控制台重命名的页面下的所有页面的引用更新。此处描述了该问题:

http://blogs.adobe.com/dmcmahon/2012/12/13/cq5-5-sp2-1-linksreferences-are-not-updated-following-moverename/

该修补程序修复了未来的页面名称更改并更新所有其他页面中的引用,无论链接是直接编写为 html 还是通过输入小部件(例如“pathfields”)编写。

但是,我们很晚才发现这个错误,并且已经完成了很多页面重命名,这导致现有页面上的链接断开,我们在对话框中使用了路径字段组件供作者参考其他页面。我想使用 com.day.cq.rewriter.linkchecker 包下的 LinkChecker api 编写一些自定义代码。我找不到 CQ5 实际用于在页面重命名上执行“参考更新”的任何示例代码,作为起点。

我需要根据您的经验输入信息,无论是 Linkchecker API 是最好的前进方式,还是有一些其他 API 用于检查所有创作的链接并生成有关哪些链接/路径字段已损坏链接的报告。

帮助表示赞赏。

我已经检查过: 1. 外部链接检查器工具,它会报告断开的链接,但前提是链接指向其他外部域,因此在我们的案例中没有用。

4

1 回答 1

1

Linkchecker 是一个 Sling 重写器。重写器与请求严格相关。它们在 CQ 返回给客户端之前对 CQ 生成的 HTML 代码进行操作。如果我理解正确,您想在整个站点中查找损坏的内部链接,而 Linkchecker 在这里不会很有用。

考虑使用Groovy 控制台来搜索以 ./content/your_site开头的字符串/content。然后用于resourceResolver检查找到的路径是否存在。可以在此处找到实现此算法的示例脚本。

于 2014-10-04T07:23:54.263 回答