2016-04-22 9 views
0

標準のタグをPDFに追加しようとしています。そのためには、PDFが読み込まれたときにレスポンスヘッダーを更新する必要があります。私はcq:pageのヘッダーを非常に簡単に追加することができました:CQ5のPDFにレスポンスヘッダーを追加するには

@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をしようとすると動作しません。私はdamを試しました:Asset、dam:AssetContentをresourceTypesとして使用しましたが、何も動作していないようです。

助けがあれば助かります。

おかげで、 ヴィシャル

+0

これらのPDFはスタティックDAM資産の一部ですか? – Abhishek

+0

はい、何かのような/content/dam/pdf/en/citrix-workspace-suite-brochure.pdf – Vishal

答えて

1

は、あなたが書いたサーブレットは、あなたの資産のリクエストを処理していません。これをAEMで処理する場合は、OOTB AEMのAssetDownloadServletを独自のサーブレット実装で上書きする必要があります。サーブレットの応答に標準的なリンクヘッダーを追加できます。
これを無効にする方法については、this blog postで詳しく説明しています。また、このカスタマイズのサンプルコードへのリンクも含まれています。

ただし、設定にウェブサーバー(Apacheなど)がある場合は、実際にこれを処理する必要があります。これはこのMoz blog postに示されています。 MozはSEOベストプラクティスの頂点です。私はそれをお勧めします。

+0

ありがとうAbhishek、私はApacheで私のconfファイルを介してこれを処理する場合、私は各PDFファイルのエントリを作成する必要があります。私は標準的なリンクのためにJCRにエントリーを作成しています。そして、そのリンクを読んでから、それをレスポンスヘッダーに追加します。あなたが提案したそのリンクを試してみましょう。 – Vishal

+0

あなたが提案したリンクにコードを使用しましたが、pdfを読み込むときに何もしません。あなたの側でこれを試すことは可能ですか?本当に感謝します。 – Vishal

関連する問題