リソースマッピング resource-mapping
リソースマッピングは、AEMのリダイレクト、バニティー URL および仮想ホストを定義するために使用されます。
例えば、これらのマッピングを使用して、次のことをおこなうことができます。
- すべてのリクエストに
/content
というプレフィックスを付けて、web サイトの訪問者に内部構造が表示されないようにする。 - Web サイトの
/content/en/gateway
ページへのリクエストがすべてhttps://gbiv.com/
にリダイレクトされるように、リダイレクトを定義する。
1 つの可能な HTTP マッピング には、localhost:4503 に対するすべての要求の前に/content が付加されます。. このようなマッピングを使用すると、Web サイトの訪問者に対して内部構造を非表示にすることができます。例えば、次のページの場合は、
localhost:4503/content/geometrixx/en/products.html
次の URL を使用してアクセスできます。
localhost:4503/geometrixx/en/products.html
マッピングによって、/content
というプレフィックスが /geometrixx/en/products.html
に自動的に追加されるからです。
マッピング定義の表示 viewing-mapping-definitions
このマッピングは、JCR Resource Resolver が(トップダウン)評価して一致を見つける 2 つのリストを形成します。
これらのリストは、Felix コンソールの JCR ResourceResolver オプション(例:https://<host>:<port>/system/console/jcrresolver
)で(設定情報と一緒に)確認できます。
-
設定
現在の設定を表示します ( Apache Sling Resource Resolver.
-
設定テスト
URL またはリソースパスを入力できます。 クリック 解決 または マップ をクリックして、エントリの変換方法を確認します。
-
Resolver Map Entries
URL をリソースにマップするために ResourceResolver.resolve メソッドが使用するエントリのリストです。 -
Mapping Map Entries
リソースパスを URL にマップするために ResourceResolver.map メソッドが使用するエントリのリストです。
2 つのリストには、アプリケーションでデフォルトとして定義されたエントリを含む、様々なエントリが表示されます。 多くの場合、ユーザーの URL を簡素化することを目的としています。
リストはペア a パターン の場合は、リクエストに一致する正規表現と 代替手段 これは、適用するリダイレクトを定義します。
例えば、次のような場合です。
パターン ^[^/]+/[^/]+/welcome$
このパターンは次のリプレースメントを呼び出します。
リプレースメント /libs/cq/core/content/welcome.html
.
これにより、次のリクエストがリダイレクトされます。
http://localhost:4503/welcome
リダイレクト先は次のとおりです。
http://localhost:4503/libs/cq/core/content/welcome.html
新しいマッピング定義がリポジトリ内に作成されます。
AEMでのマッピング定義の作成 creating-mapping-definitions-in-aem
AEMの標準インストールでは、次のフォルダーを検索できます。
/etc/map/http
これは、HTTP プロトコル用のマッピングを定義する場合に使用する構造です。マッピングするその他のプロトコル用に別のフォルダー(sling:Folder
)を /etc/map
の下に作成できます。
/content への内部リダイレクトの設定 configuring-an-internal-redirect-to-content
http://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
が要求されていた
/etc/map.publish
を使用して、パブリッシュ環境の設定を保持する。これらの設定をレプリケートして、パブリッシュ環境の Apache Sling Resource Resolver の「Mapping Location」用に新しい場所(/etc/map.publish
)を設定する必要があります。