URL リダイレクトは、web サイト操作の一環として一般的な側面です。アーキテクトや管理者は、柔軟性とリダイレクトデプロイメント時間の高速化を実現する、URL リダイレクトの管理方法と管理場所に関する最適なソリューションを見つける必要があります。
AEM(6.x)aka AEM Classic と AEM as a Cloud Service インフラストラクチャに精通している必要があります。主な違いは次のとおりです。
他の AEM サービス(AEM オーサー、パブリッシュ、Dispatcher)については、AEM 6.x と AEM as a Cloud Service の間で概念的に似ています。
AEM の URL リダイレクトソリューションは次のとおりです。
AEM プロジェクトコードとしての管理とデプロイ | マーケティング/コンテンツチームによる変更機能 | AEM as Cloud Service との互換性 | リダイレクトの実行場所 | |
---|---|---|---|---|
Edge と独自の CDN | ✘ | ✘ | ✔ | Edge/CDN |
Dispatcher 設定としての Apache mod_rewrite ルール |
✔ | ✘ | ✔ | Dispatcher |
ACS Commons - リダイレクトマップマネージャ | ✘ | ✔ | ✘ | Dispatcher |
ACS Commons - リダイレクトマネージャー | ✘ | ✔ | ✔ | AEM |
Redirect ページのプロパティ |
✘ | ✔ | ✔ | AEM |
以下は、web サイトの訪問者のブラウザーに近い順に示したソリューションオプションです。
一部の CDN サービスでは、Edge レベルのリダイレクトソリューションが提供されており、接触チャネルへのラウンドトリップを減らすことができます。詳しくは、「Akamai Edge リダイレクター」、「AWS CloudFront の機能」を参照してください。Edge レベルのリダイレクト機能については、CDN サービスプロバイダーにお問い合わせください。
Edge レベルまたは CDN レベルでリダイレクトを管理するとパフォーマンスが向上しますが、リダイレクトが AEM の一部ではなく、個別のプロジェクトとして管理されます。問題を回避するには、リダイレクトルールの管理と展開についての考え抜かれたプロセスが必要です。
mod_rewrite
モジュール一般的なソリューションは、Apache モジュール mod_rewrite を使用します。この AEM プロジェクトアーキタイプは、AEM 6.x と AEM as a Cloud Service プロジェクトの両方に Dispatcher プロジェクト構造を提供します。デフォルト(不変)とカスタムの書き換えルールは conf.d/rewrites
フォルダーで定義され、conf.d/dispatcher_vhost.conf
ファイル経由でポート 80
をリッスンする virtualhosts
に対する書き換えエンジンはオンになります。実装例は、AEM WKND サイトプロジェクトで入手できます。
AEM as a Cloud Service では、これらのリダイレクトルールが AEM コードの一部として管理され、Cloud Manager web 層設定パイプラインまたはフルスタックパイプラインを使用してデプロイされます。したがって、AEM プロジェクト固有のプロセスは、リダイレクトルールの管理、デプロイ、トレースを実行するために使用されます。
ほとんどの CDN サービスは、Cache-Control
または Expires
ヘッダーに応じて、HTTP 301 および 302 リダイレクトをキャッシュします。これにより、Apache/Dispatcher で発生する最初のリダイレクト後のラウンドトリップを回避できます。
URL リダイレクトを管理するために ACS AEM Commons 内で使用できる 2 つの機能があります。ACS AEM Commons はコミュニティが運営するオープンソースプロジェクトで、Adobe ではサポートされていません。
リダイレクトマップマネージャを使用すると、AEM 6.x 管理者は、Apache Web サーバーに直接アクセスしたり、Apache web サーバーを再起動したりすることなく、Apache RewriteMap ファイルを簡単に管理および公開できます。この機能を使用すると、ユーザーは、開発チームや AEM のデプロイメントの手助けを借りずに、AEM のコンソールからリダイレクトルールを作成、更新、および削除できます。リダイレクトマップマネージャは AEM as a Cloud Service と互換性がありません。
リダイレクトマネージャを使用すると、AEM のユーザーは、AEM からのリダイレクトを簡単に管理および公開できます。この実装は Java™サーブレットフィルターに基づいているので、一般的な JVM リソースの使用になります。また、この機能により、AEM 開発チームや AEM のデプロイメントに依存する必要がなくなります。リダイレクトマネージャーは AEM as a Cloud Service および AEM 6.x と互換性があります。最初のリダイレクトされたリクエストは、デフォルトで 301/302(ほとんどの)CDN のキャッシュ 301/302 を生成するために AEM パブリッシュサービスにヒットする必要があります。
Redirect
ページプロパティ詳細タブ のすぐに使える(OOTB)Redirect
ページプロパティにより、コンテンツ作成者は現在のページのリダイレクト先を定義できます。このソリューションは、ページごとのリダイレクトシナリオに最適で、ページのリダイレクトを一元的に表示および管理する場所はありません。
次に、適切なソリューションを決定するためのいくつかの条件を示します。また、組織の IT およびマーケティングプロセスが、適切なソリューションの選択に役立ちます。