Example Inc. は現在、Apache rewrite モジュールを使用して Web サーバーに送信された検索リクエストを処理し、リクエスト URL の情報に基づいてそれらのリクエストを適切なサーバーにリダイレクトしています。Example Inc. は、これらのルールをNetScalerプラットフォームに移行することでセットアップを簡素化したいと考えています。
Example が現在使用しているいくつかの Apache リライトルールを以下に示します。これらのルールは、SiteID 文字列がない場合や SiteID 文字列がゼロ (0) の場合は検索リクエストを特別な結果ページにリダイレクトし、これらの条件に当てはまらない場合は標準結果ページにリダイレクトします。
以下は、現在の Apache 書き換えルールです。
これらの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サーバーと同じようにこれらの検索要求を処理するようになりました。