現在表示中:

リソースマッピングは、リダイレクト、バニティー URL および AEM 用の仮想ホストを定義するために使用します。

例えば、これらのマッピングを使用すると次のことが可能です。

  • すべての要求に /content というプレフィックスを付けて、Web サイトの訪問者に内部構造が表示されないようにする。
  • Web サイトの /content/en/gateway ページへの要求がすべて http://gbiv.com/ にリダイレクトされるように、リダイレクトを定義する。

HTTP マッピングの一例として、localhost:4503 に対するすべての要求に /content というプレフィックスを指定します。このようなマッピングを使用すると、Web サイトの訪問者に対して内部構造を非表示にすることができます。例えば、次のページにアクセスできます。

localhost:4503/content/geometrixx/en/products.html

マッピング前のページは次のとおりです。

localhost:4503/geometrixx/en/products.html

マッピングによって、/geometrixx/en/products.html/content というプレフィックスが自動的に追加されます。

警告:

バニティー URL は regex パターンをサポートしません。

注意:

詳しくは、Sling のドキュメントと「Mappings for Resource Resolution」と「Resources」を参照してください。

マッピング定義の確認

マッピングでは 2 つのリストが作成されます。JCR Resource Resolver は、これらのリストを(トップダウン)評価して一致項目を探します。

これらのリストは、Felix コンソールの JCR ResourceResolver オプション(例:http://<host>:<port>/system/console/jcrresolver)で(設定情報と一緒に)確認できます。

  • Configuration
    Apache Sling Resource Resolver 用に定義された)現在の設定を表示します。
  • Configuration Test
    URL またはリソースパスを入力できます。「Resolve」または「Map」をクリックして、システムによるエントリの変換方法を確認します。
  • Resolver Map Entries
    URL をリソースにマップするために ResourceResolver.resolve メソッドが使用するエントリのリストです。
  • Mapping Map Entries
    リソースパスを URL にマップするために ResourceResolver.map メソッドが使用するエントリのリストです。

2 つのリストには、アプリケーションでデフォルトとして定義されたエントリを含む様々なエントリが表示されます。これらのエントリの目的は、多くの場合、ユーザーのために URL を簡略化することです。

リストでは、パターン(要求に適合する正規表現)とリプレースメント(適用するリダイレクトを定義します)がペアになっています。

例えば、次のパターンがあるとします。

パターン:^[^/]+/[^/]+/welcome$

このパターンは次のリプレースメントを呼び出します。

リプレースメント: /libs/cq/core/content/welcome.html

これにより、次の要求がリダイレクトされます。

http://localhost:4503/welcome

リダイレクト先は次のとおりです。

http://localhost:4503/libs/cq/core/content/welcome.html

新しいマッピング定義がリポジトリ内に作成されます。

注意:

正規表現の定義方法について説明したリソースは多数あります(例:http://www.regular-expressions.info/)。

AEM でのマッピング定義の作成

AEM の標準インストールには、次のフォルダーがあります。

/etc/map/http

これは、HTTP プロトコル用のマッピングを定義する場合に使用する構造です。その他にマップするプロトコル用の別のフォルダー(sling:Folder)を /etc/map に作成できます。

/content への内部リダイレクトの設定

http://localhost:4503/ に対する要求に /content というプレフィックスを指定したマッピングを作成するには:

  1. CRXDE を使用して /etc/map/http に移動します。
  2. 新しいノードを作成します。
    • タイプsling:Mapping
      これは目的のマッピング用のノードタイプですが、必須ではありません。
    • 名前localhost_any
  3. すべて保存」をクリックします。
  4. このノードに次のプロパティを追加します。
    • 名前sling:match
      • タイプ String 
      • localhost.4503/
    • 名前sling:internalRedirect
      • タイプ String
      • /content/
  5. すべて保存」をクリックします。

これにより、次の要求が、
         localhost:4503/geometrixx/en/products.html
次のような要求として処理されます。
        localhost:4503/content/geometrixx/en/products.html

注意:

使用可能な sling のプロパティとその設定方法について詳しくは、Sling のドキュメントの「Resources」を参照してください。

注意:

/etc/map.publish を使用して、パブリッシュ環境用の設定を保持できます。これらの設定をレプリケーションして、パブリッシュ環境の Apache Sling Resource Resolver の「Mapping Location」用に新しい場所(/etc/map.publish)を設定する必要があります。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー