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

Dar*_*ius 4 seo canonical-link aem

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

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

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

非常感谢

ano*_*ave 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());
Run Code Online (Sandbox Code Playgroud)

您可以通过Felixosgi:Config存储库中的节点自定义外部化程序视为基本URL的内容.并阅读有关Adobe网站上官方文档的更多信息.

(注意,Externalizer是CQ5.5 +)