我正在尝试将规范标签添加到PDF,因此我必须在加载PDF时更新响应标头。我能够非常轻松地为cq:page添加标题:
@SlingServlet(
resourceTypes = "cq:Page",
extensions = "html",
methods = "GET")
@Properties({
@Property(name = "service.description", value = "Servlet to handle all incoming widget modification")
})
public class canocalizePDF extends SlingAllMethodsServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException {
response.addHeader(“canonical", “test");
}
@Override
protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException {
}
}
但是当我尝试使用PDF时,它不起作用。我试过大坝:资产,大坝:AssetContent作为resourceTypes,但似乎没有任何工作。
任何帮助都会很棒。
谢谢, 维沙尔
答案 0 :(得分:1)
您撰写的servlet未处理您的资产请求。如果要在AEM中处理此问题,则需要使用自己的servlet实现覆盖OOTB AEM的AssetDownloadServlet
。然后,您可以在servlet响应中添加规范链接头
如何覆盖这一点在this blog post中有详细解释。他们还包含了此自定义示例代码的链接。
但是,如果您的设置中有一个Web服务器(例如Apache),那么您应该在那里处理它。这显示在Moz blog post中。 Moz是SEO最佳实践的巅峰之作。我会推荐。