如何在CQ5中为pdf添加响应头

时间:2016-04-22 16:21:35

标签: pdf cq5 aem sling response-headers

我正在尝试将规范标签添加到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,但似乎没有任何工作。

任何帮助都会很棒。

谢谢, 维沙尔

1 个答案:

答案 0 :(得分:1)

您撰写的servlet未处理您的资产请求。如果要在AEM中处理此问题,则需要使用自己的servlet实现覆盖OOTB AEM的AssetDownloadServlet。然后,您可以在servlet响应中添加规范链接头 如何覆盖这一点在this blog post中有详细解释。他们还包含了此自定义示例代码的链接。

但是,如果您的设置中有一个Web服务器(例如Apache),那么您应该在那里处理它。这显示在Moz blog post中。 Moz是SEO最佳实践的巅峰之作。我会推荐。