2016-04-12 16 views
1

セレクタでcq5/aem urlを書き直すのが初めてです。私は以下のシナリオを達成する必要があります。それをどうやって手助けしてください。cq5/aem urlディスパッチャとapache Webサーバの書き換えまたはマッピング

私は、Apache Webサーバ/ディスパッチャ構成やCQ5/AEM(ETC /マップ)を使用して

http://localhost:4502/content/myprojectroot/project1/en/batteries/search-results.toyota.corolla.2011.LE.html 

に変換する必要があり、そのような

http://localhost:4502/batteries/toyota/corolla/2011/LE/ 

としてURLを要求する必要があります。これを達成する方法を教えてください。

答えて

0

次のようにあなたが/etc/map下のノードを定義した場合、発行者のフィルタが再ルーティング要求します:

<?xml version="1.0" encoding="UTF-8"?> 
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" 
      jcr:primaryType="sling:Mapping" 
      sling:internalRedirect="[/content/myprojectroot/project1/en/batteries/search-results.$1.$2.$3.$4.html]" 
      sling:match=".+/batteries/(.*)/(.*)/(.*)/(.*)/"/> 

このsling.matchは、あなたがしてキャプチャする$1構文を使用し、グループを一致させることができますリルートURLで使用する一致部分。

次に、ディスパッチャで最初のURLパターンが許可されていることを確認するだけです。ディスパッチャはその要求をパブリッシャに送信し、パブリッシャでは要求が処理されるとマップのリダイレクトが行われます。

またhttps://docs.adobe.com/docs/en/aem/6-1/deploy/configuring/resource-mapping.htmlhttps://docs.adobe.com/docs/en/dispatcher/disp-config.html

0

がdispachterを打つのURLを変更しないのapacheのmod_rewriteを使用して参照してください!

0

使用して、あなたのバーチャルホストに以下のようにルールを書き換え:

RewriteRule ^/batteries/toyota/corolla/2011/LE/ /content/myprojectroot/project1/en/batteries/search-results.toyota.corolla.2011.LE.html [R=301,L] 
関連する問題