【发布时间】:2014-06-10 10:15:29
【问题描述】:
我需要将当前页面路径设置为canocical 标签。不幸的是,我这里有一些错误。在此代码上:
<%
ResourceResolver resolver = slingRequest.getResourceResolver();
Externalizer externalizer = resolver.adaptTo(Externalizer.class);
String canonUrl = externalizer.publishLink(resourceResolver, "http", currentPage.getPath());
%>
<link rel="canonical" href="${canonUrl}" />
我有这个输出:
<link rel="canonical" href="" />
怎么了。但是如果我像这样设置canonical 标签:
<link rel="canonical" href="${currentPage.path}" />
我有这个输出:
<link rel="canonical" href="/content/example/eu/germany/de_de/about.html" />
几乎没问题。而现在,我只需要添加域名(http://example.com/content/example/eu/germany/de_de/about.html)。但是我怎么能在没有硬编码的情况下做到这一点呢?该方法在本地化页面上也应该可以正常工作。
【问题讨论】:
-
由于您使用的是 jstl,因此在定义 canonUrl 之后,您将其设置为页面上下文,对吗?
pageContext.setAttribute("canonUrl",canonUrl)