我们在CQ5.5上安装SP2.1后遇到了一个问题,它对使用CQ5的“网站”控制台重命名的页面下的所有页面实现了引用更新。这个问题在这里描述:
此修补程序修复了将来的页面名称更改并更新了所有其他页面中的引用,无论链接是直接创建为html还是通过输入窗口小部件(如“pathfields”)创建。
然而,我们很晚才发现这个错误并且已经进行了大量页面重命名,这导致现有页面上的链接断开,我们在对话框中使用了路径域组件供作者引用其他页面。我想在com.day.cq.rewriter.linkchecker包下使用LinkChecker api编写一些自定义代码。我无法找到CQ5实际用于执行页面重命名的“参考更新”的任何示例代码,以作为起点。
我需要根据您的经验输入,Linkchecker API是否是最好的前进方式,或者是否有其他API用于检查所有创作的链接并生成关于哪些链接/路径域已断开链接的报告。
帮助表示赞赏。
我检查过: 1.外部链接检查工具,它会报告损坏的链接,但仅当链接指向其他外部域时才会报告,因此在我们的情况下无效。
答案 0 :(得分:1)
Linkchecker是Sling的重写者。重写者严格与请求相关联。它们在CQ返回到客户端之前对CQ生成的HTML代码进行操作。如果我理解正确,你想在整个网站中寻找破碎的内部链接,而Linkchecker在这里不会非常有用。
考虑使用Groovy console抓取/content/your_site
寻找以/content
开头的字符串。然后使用resourceResolver
检查找到的路径是否存在。可以找到实现此算法的示例脚本here。