在Adobe CQ5中获取Canonical Link的当前页面URL

时间:2013-10-24 16:14:34

标签: seo cq5 canonical-link

在Adobe CQ5中是否有标准方法来获取当前页面URL以便在JSP的头部创建自动规范链接?

基本上我们有一个对话配置框,您可以在其中覆盖规范链接,但默认情况下,如果这是空的,我想根据当前请求的原始URL路径构建链接。

头部的JSP在所有请求中共享。

非常感谢

1 个答案:

答案 0 :(得分:10)

${currentPage.path}变量将为您提供当前资源的父页面路径,但您应该使用Externalizer将其转换为面向用户的好URL(即应用您拥有的任何映射规则)在适当的位置使用正确的域名,而不是服务器名称,例如prod-server-123

ResourceResolver resourceResolver = request.getResourceResolver();
Externalizer externalizer = resourceResolver.adaptTo(Externalizer.class);
String canonicalUrl = externalizer.publishLink(resourceResolver, "http", currentPage.getPath());

您可以通过Felix或通过存储库中的osgi:Config节点自定义外部化工具视为基本网址的内容。并在官方docs on the Adobe site上阅读更多内容。

(注意,Externalizer是CQ5.5 +)

相关问题