Citrix ADC

例 6: Apache 書き換えモジュールルールの移行

Example Inc. は現在、Apache 書き換えモジュールを使用して、Web サーバーに送信された検索要求を処理し、要求 URL の情報に基づいてそれらの要求を適切なサーバーにリダイレクトしています。Example Inc. は、これらのルールをCitrix ADCプラットフォームに移行することで、設定を簡素化したいと考えています。

Example が現在使用しているいくつかのApache 書き換えルールを以下に示します。これらのルールは、SiteID 文字列がない場合、または SiteID 文字列がゼロ (0) に等しい場合は、特別な結果ページに検索リクエストをリダイレクトします。これらの条件が適用されない場合は、標準結果ページにリダイレクトします。

以下は、現在の Apache 書き換えルールです。

  • RewriteCond %{REQUEST_FILENAME} ^/search$ [NC]
  • RewriteCond %{QUERY_STRING} !SiteId= [OR]
  • RewriteCond %{QUERY_STRING} SiteId=0
  • RewriteCond %{QUERY_STRING} CallName=DisplayResults [NC]
  • RewriteRule ^.*$ results2.html [P,L]
  • RewriteCond %{REQUEST_FILENAME} ^/search$ [NC]
  • RewriteCond %{QUERY_STRING} CallName=DisplayResults [NC]
  • RewriteRule ^.*$ /results.html [P,L]

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サーバーと同じようにこれらの検索要求を処理するようになりました。

例 6: Apache 書き換えモジュールルールの移行