Example Inc. は現在、Apache 書き換えモジュールを使用して、Web サーバーに送信された検索要求を処理し、要求 URL の情報に基づいてそれらの要求を適切なサーバーにリダイレクトしています。Example Inc. は、これらのルールをCitrix ADCプラットフォームに移行することで、設定を簡素化したいと考えています。
Example が現在使用しているいくつかのApache 書き換えルールを以下に示します。これらのルールは、SiteID 文字列がない場合、または SiteID 文字列がゼロ (0) に等しい場合は、特別な結果ページに検索リクエストをリダイレクトします。これらの条件が適用されない場合は、標準結果ページにリダイレクトします。
以下は、現在の Apache 書き換えルールです。
Citrix ADCでこれらのApache書き換えルールを実装するには、次の表の値を使用して書き換えアクションを作成します。
| アクション名 |
書き換えアクションのタイプ |
ターゲット参照を選択する式 |
置換テキストの文字列式 |
| Action-Rewrite-Display_Results_NulSiteID |
REPLACE |
HTTP.REQ.URL |
"/results2.html" |
| Action-Rewrite-Display_Results |
REPLACE |
HTTP.REQ.URL |
"/results2.html" |
次に、次の表に示すように、値を使用して書き換えポリシーを作成します。
| ポリシー名 |
アクション名 |
未定義のアクション |
式 |
| Policy-Rewrite-Display_Results_NulSiteID |
Action-Rewrite-Display_Results_NulSiteID |
NOREWRITE |
HTTP.REQ.URL.PATH.SET_TEXT_MODE(IGNORECASE).EQ("/search") && (!HTTP.REQ.URL.QUERY.CONTAINS("SiteId=") || HTTP.REQ.URL.QUERY.CONTAINS("SiteId=0") || HTTP.REQ.URL.QUERY.SET_TEXT_MODE(IGNORECASE).CONTAINS("CallName=DisplayResults")) |
| Policy-Rewrite-Display_Results |
Action-Rewrite-Display_Results |
NOREWRITE |
HTTP.REQ.URL.PATH.SET_TEXT_MODE(IGNORECASE).EQ("/search") || HTTP.REQ.URL.QUERY.SET_TEXT_MODE(IGNORECASE).CONTAINS("CallName=DisplayResults")) |
最後に、書き換えポリシーをバインドし、最初のポリシーに優先順位 600、2 番目のポリシーに優先順位 700 を割り当てて、両方のバインドに対して goto 式を NEXT に設定します。
Citrix ADCは、Apache書き換えモジュールのルールが移行される前のWebサーバーと同じようにこれらの検索要求を処理するようになりました。