Show Menu
トピック×

リソースマッピング

リソースマッピングは、リダイレクト、バニティー URL および AEM 用の仮想ホストを定義するために使用します。
例えば、これらのマッピングを使用すると次のことが可能です。
  • Prefix all requests with /content so that the internal structure is hidden from the visitors to your website.
  • Define a redirect so that all requests to the /content/en/gateway page of your website are redirected to https://gbiv.com/ .
HTTP マッピングの一例として、 localhost:4503 に対するすべての要求に /content というプレフィックスを指定します。このようなマッピングを使用すると、Web サイトの訪問者に対して内部構造を非表示にすることができます。例えば、次のページにアクセスできます。
localhost:4503/content/geometrixx/en/products.html
マッピング前のページは次のとおりです。
localhost:4503/geometrixx/en/products.html
as the mapping will automatically add the prefix /content to /geometrixx/en/products.html .
バニティー URL は regex パターンをサポートしません。
詳しくは、Sling のドキュメントと「 Mappings for Resource Resolution 」と「 Resources 」を参照してください。

マッピング定義の確認

マッピングでは 2 つのリストが作成されます。JCR Resource Resolver は、これらのリストを(トップダウン)評価して一致項目を探します。
These lists can be viewed (together with configuration information) under the JCR ResourceResolver option of the Felix console; for example, https://<host>:<port>/system/console/jcrresolver :
  • 設定
    Shows the current configuration (as defined for the Apache Sling Resource Resolver .
  • 設定テスト
    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
新しいマッピング定義がリポジトリ内に作成されます。
There are many resources available that help explain how to define regular expressions; for example https://www.regular-expressions.info/ .

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

AEM の標準インストールには、次のフォルダーがあります。
/etc/map/http
これは、HTTP プロトコル用のマッピングを定義する場合に使用する構造です。Other folders ( sling:Folder ) can be created under /etc/map for any other protocols that you want to map.

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

To create the mapping that prefixes any request to http://localhost:4503/ with /content :
  1. Using CRXDE navigate to /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 開環境の設定を保持できます。 次に、これらを複製し、新しい場所( /etc/map.publish )を発行環境の Apache Sling Resource Resolverの Mapping Location (マッピング場所 )に設定する必要があります。