AEM as a Cloud Service オーサーインスタンスでの短縮 URL のリクエスト変換の有効化
Adobe Experience Manager(AEM)as a Cloud Serviceでは、オーサーインスタンスの短縮 URL が、目的のコンテンツではなくデフォルトの開始ページ(/aem/start.html
)にリダイレクトされます。 この問題は、/content/websites
プレフィックスを省略する URL を使用してプロファイルページを検証するチームに影響します。 この問題は、オーサーインスタンスがリクエスト変換をデフォルトで適用していないために発生します。 これを解決するには、AEM設定パイプラインを使用してカスタム CDN 設定をデプロイします。
説明 description
環境
製品: Adobe Experience Manager as a Cloud Service(AEMaaCS) - Sites
インスタンス: 設定パイプラインを介してデプロイされた、CDN 設定を持つ AEMaaCS オーサーインスタンス
問題/症状
/ui/en/about/people/profiles.user-name+8b1126ad.html
などの短縮 URL にアクセスすると、AEM スタートページにリダイレクトされる。- フルパスを使用
/content/websites/ui/en/about/people/profiles.user-name+8b1126ad.html
ると、プロファイルページが正しく表示されます。 - AEM as a Cloud Serviceでは、オーサーインスタンスは JCR から直接 URL を解決し、従来の Dispatcher は使用しません。
原因
AEMaaCS の設計上、要求変換ルールは、Dispatcher 書き換えルールを使用して、パブリッシュ層でのみ適用されます。 オーサーインスタンスは Dispatcher を使用しないので、短縮 URL は自動的には変換されません。 オーサー層でこれを有効にするには、設定パイプラインを介して CDN 設定をデプロイする必要があります。 また、変換ルールでは、適切なエスケープ(\"/content/websites\\\\1\"
など)を含む正しい構文を使用する必要があります。
解決策 resolution
問題を修正するには、
-
AEM設定パイプラインを使用して CDN 設定をデプロイします。 この設定には、
add-content-websites-prefix
という名前のカスタムルールを含める必要があります。 ルールは、リクエストがオーサー層で行われているかどうか、およびパスが/ui/
で始まるかどうかを確認します。 両方の条件が満たされた場合は、先頭に/content/websites
を付けてパスを書き換えます。code language-none kind: "CDN" version: "1" metadata: { envTypes: [ "dev", "stage", "prod"] } data: requestTransformations: rules: - name: add-content-websites-prefix when: allOf: - { reqProperty: tier, equals: author } - { reqProperty: path, matches: "/ui/" } actions: - type: transform reqProperty: path op: replace match: (.*)$ replacement: "/content/websites\\1"
-
設定をデプロイした後、オーサーインスタンスで短縮 URL をテストします。 これで、意図したコンテンツに正しく解決されるはずです。
その他の留意事項
- 標準搭載(OOTB)の CDN ベースのリクエスト変換メカニズムは、元々パブリッシュ環境をターゲットにしていましたが、設定パイプラインを介して適切な設定をデプロイすることで、オーサー環境に拡張できます。
- Adobeでは、オーサーインスタンスでのルーチンのコンテンツ検証にフルパスを使用することをお勧めします。 オーサリングワークフローが中断しないように、常にカスタム変換ルールをテストします。