リソースマッピングは、リダイレクト、バニティー URL および AEM 用の仮想ホストを定義するために使用します。
例えば、これらのマッピングを使用すると次のことが可能です。
/content
を付けます。/content/en/gateway
ページへのすべてのリクエストがhttps://gbiv.com/
にリダイレクトされるように、リダイレクトを定義します。1つのHTTPマッピングでは、すべてのリクエストをlocalhost:4503
の先頭に/content
を付けます。 このようなマッピングを使用すると、Web サイトの訪問者に対して内部構造を非表示にすることができます。例えば、次のページにアクセスできます。
localhost:4503/content/we-retail/en/products.html
マッピング前のページは次のとおりです。
localhost:4503/we-retail/en/products.html
を使用すると、マッピングは自動的にプレフィックス/content
を/we-retail/en/products.html
に追加します。
バニティー URL は regex パターンをサポートしません。
詳しくは、Sling のドキュメントと「Mappings for Resource Resolution」と「Resources」を参照してください。
マッピングでは 2 つのリストが作成されます。JCR Resource Resolver は、これらのリストを(トップダウン)評価して一致項目を探します。
これらのリストは、FelixコンソールのJCR ResourceResolverオプションの下で(設定情報と共に)表示できます。例:https://<*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
.
これにより、次の要求がリダイレクトされます。
https://localhost:4503/welcome
"
リダイレクト先は次のとおりです。
https://localhost:4503/libs/cq/core/content/welcome.html
新しいマッピング定義がリポジトリ内に作成されます。
正規式の定義方法を説明するリソースが多数あります。例:https://www.regular-expressions.info/
AEM の標準インストールには、次のフォルダーがあります。
/etc/map/http
これは、HTTP プロトコル用のマッピングを定義する場合に使用する構造です。/etc/map
の下に、マッピングする他のプロトコル用の他のフォルダー(sling:Folder
)を作成できます。
リクエストをhttps://localhost:4503/に接頭するマッピングを作成するには、次のように/content
を付けます。
CRXDEを使用して/etc/map/http
に移動します。
新しいノードを作成します。
タイプ:sling:Mapping
これは目的のマッピング用のノードタイプですが、必須ではありません。
名前 localhost_any
「すべて保存」をクリックします。
このノードに次のプロパティを追加します。
名前 sling:match
型 String
値 localhost.4503/
名前 sling:internalRedirect
型 String
値 /content/
「すべて保存」をクリックします。
これは、次のようなリクエストを処理します。
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
)を作成する必要があります。