2016-04-22 17 views
0

Ich versuche, hinzufügen kanonische Tags zu PDF und dafür muss ich Antwort-Header aktualisieren, wenn PDF geladen wird. Ich konnte Header für cq hinzuzufügen: Seite sehr leicht:Wie kann ich hinzufügen Antwort-Header zu einem PDF in CQ5

@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 { 

    } 
} 

Aber wenn ich für PDF zu gleichen versuchen, es funktioniert nicht. Ich habe versucht dam: Asset, dam: AssetContent als resourceTypes, aber nichts scheint zu funktionieren.

Jede Hilfe wäre großartig.

Danke, Vishal

+0

Sind diese PDFs Teil der statischen DAM-Assets? – Abhishek

+0

Ja, etwas wie /content/dam/pdf/de/citrix-workspace-suite-brochure.pdf – Vishal

Antwort

1

Das Servlet, das Sie geschrieben haben, ist nicht Ihre Asset-Anfragen Handhabung. Wenn Sie dies in AEM behandeln möchten, müssen Sie die OOTB AEM mit Ihrer eigenen Servlet-Implementierung überschreiben. Sie können dann den kanonischen Link-Header in Ihrer Servlet-Antwort hinzufügen.
Wie dies zu überschreiben ist, wird in this blog post erklärt. Sie haben auch einen Link zu Beispielcode für diese Anpassung enthalten.

Wenn Sie jedoch einen Webserver (z. B. Apache) in Ihrem Setup haben, sollten Sie das dort wirklich behandeln. Dies wird in dieser Moz blog post gezeigt. Moz ist der Gipfel der besten SEO-Praktiken. Ich werde das empfehlen.

+0

Danke Abhishek, wenn ich das über meine Conf-Datei in Apache behandle, dann muss ich für jede PDF-Datei einen Eintrag machen. Ich mache einen Eintrag in JCR für den kanonischen Link und dann würde ich diesen Link lesen und dann diesen zum Antwortheader hinzufügen. Lass mich den Link versuchen, den du vorgeschlagen hast. – Vishal

+0

Ich habe den Code in dem Link verwendet, den Sie vorgeschlagen haben, aber es macht nicht einmal etwas, wenn ich ein PDF-Dokument lade. Ist es möglich, dass Sie dies an Ihrem Ende versuchen? Werde mich wirklich freuen. – Vishal