パターンリダイレクトの利用
利用可能 7.4 U48+/GA48+
パターンリダイレクトは、正規表現を使用して、複数のソースURLとその置換のパターンを定義します。 このため、新しいURLにマッピングするURLのグループが多い場合に使用するとよいでしょう。 NginxやApacheのようなWebサーバーで一括リダイレクトを作成することもできますが、Liferayはこれをすぐに提供するので、Liferayで直接パターンリダイレクトを設定することができます。
Liferayはリダイレクトパターンを現在のサイトのフレンドリーURLに基づいて解釈するので、フレンドリーでないURL(例えば、バーチャルホスト名、ポート番号)を持つリダイレクトパターンを使用したり、現在のサイト外のページにリダイレクトすることはできません。
使用する正規表現によっては、パターンリダイレクトは alias redirects よりも遅く、意図したよりも多くの URL にマッチする結果になることがあります。 これらの理由から、可能な限りエイリアスによるリダイレクトを推奨します。 詳しくは、 リダイレクトと404トラッキングの設定 をご覧ください。
パターンリダイレクトの作成
サイトメニュー(
) を開き、 設定 → リダイレクト を開きます。
パターン タブに移動します。
パターン]フィールドに、ソースURLの正規表現を入力します。 各ページのフレンドリーURLの先頭に暗黙のうちに固定されているので、
/home
は、正規表現では^/home
と同じになります。Liferayは、Java正規表現パッケージが提供するすべての操作をサポートします。 詳しくは、 JDKのドキュメント をご覧ください。
保存先のURLを入力します。
tipリファレンスを使って、URLのグループを置換パターンで捕捉することができます。 例えば、次の画像では、
$1
の値が(\d+)
正規表現で捉えられた値群に置き換えられています。(オプション)Plus ボタンをクリックすると、サイトに複数のリダイレクトパターンを追加することができます。
[Save] をクリックします。
循環リダイレクトを作らないようにする。 これらは、コンテンツ・フレンドリーURLのリダイレクトを定義する際に簡単に作成できます(例:同じコンテンツに対して異なるフレンドリーURL間でリダイレクトする)。 Liferay はこれらのループを確実に検出することができません。
パターンリダイレクトを理解する
ユーザーがソースURLにアクセスしようとすると、LiferayはレイアウトフレンドリーなURLに対して、指定された順序でパターンをテストします。 マッチングは、おおよそこのようなルールで行われます。
URLがコントロールパネルのURLの場合、コントロールパネルのURLを捕捉することができないため、マッチングは行われません。
現在のURLにエイリアスリダイレクトがある場合、ユーザーはその宛先にリダイレクトされます。
エイリアスが見つからなかった場合、Liferay はすべてのパターンを使い切るか、どれかがマッチするまで、それぞれのリダイレクトパターンを順番にテストします。 Liferay はユーザーを最初のマッチにリダイレクトします。