例 6: Apache リライトモジュールルールを移行する

最終公開日 : Sep 25, 2026
Example Inc. は現在、Apache rewrite モジュールを使用して Web サーバーに送信された検索リクエストを処理し、リクエスト URL の情報に基づいてそれらのリクエストを適切なサーバーにリダイレクトしています。Example Inc. は、これらのルールをNetScalerプラットフォームに移行することでセットアップを簡素化したいと考えています。
Example が現在使用しているいくつかの Apache リライトルールを以下に示します。これらのルールは、SiteID 文字列がない場合や SiteID 文字列がゼロ (0) の場合は検索リクエストを特別な結果ページにリダイレクトし、これらの条件に当てはまらない場合は標準結果ページにリダイレクトします。
以下は、現在の Apache 書き換えルールです。
  • RewriteCond %{REQUEST_FILENAME} \^/search$
  • RewriteCond %{QUERY_STRING} !SiteId=
  • RewriteCond %{QUERY_STRING} SiteId=0
  • RewriteCond %{QUERY_STRING} CallName=DisplayResults
  • RewriteRule \^.*$ results2.html
  • RewriteCond %{REQUEST_FILENAME} \^/search$
  • RewriteCond %{QUERY_STRING} CallName=DisplayResults
  • RewriteRule \^.*$ /results.html
これらのApacheリライトルールをNetScalerに実装するには、次の表の値を使用してリライトアクションを作成します。
[アクション名] 書き換えアクションのタイプ ターゲットリファレンスを選択する式 置換テキストの文字列式
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 に設定します。
NetScaler ADCは、Apache書き換えモジュールのルールが移行される前のWebサーバーと同じようにこれらの検索要求を処理するようになりました。