ADC
ご意見をお寄せいただきありがとうございました

この記事は機械翻訳されています.免責事項

Apache mod_rewrite ルールからアドバンスドポリシーへの移行

Apache HTTP サーバは、HTTP リクエスト URL を書き換えるための mod_rewrite として知られるエンジンを提供します。mod_rewriteルールをApacheからNetScaler ADCに移行すると、バックエンドサーバーのパフォーマンスが向上します。さらに、NetScaler ADCは通常、複数の(場合によっては数千の)Webサーバーの負荷分散を行うため、ルールをNetScaler ADCに移行すると、これらのルールを一元的に制御できます。

次に、mod_rewrite関数の例と、NetScaler ADCでのこれらの関数の書き換えポリシーとレスポンダーポリシーへの変換を示します。

URL バリエーションを正規 URL に変換する

一部の Web サーバーでは、1 つのリソースに対して複数の URL を持つことができます。正規 URL は使用、配布する必要がありますが、他の URL はショートカットまたは内部 URL として存在できます。最初のリクエストに使用された URL に関係なく、正規 URL がユーザーに表示されるようにすることができます。

次の例では、URL /~user は /u/user に変換されます。

URLを変換するためのApache mod_rewriteソリューション

RewriteRule ^/~([^/]+)/?(.*) /u/$1/$2[R]

URLを変換するためのNetScaler ADCソリューション

add responder action act1 redirect '"/u/"+HTTP.REQ.URL.AFTER_STR("/~")' add responder policy pol1 'HTTP.REQ.URL.STARTSWITH("/~") && HTTP.REQ.URL.LENGTH.GT(2)' act1 bind responder global pol1 100

ホスト名のバリエーションを正規ホスト名に変換する

サイトに到達するために、特定のホスト名の使用を強制することができます。たとえば、example.com の代わりに www.example.com の使用を強制することができます。

80 以外のポートで実行されているサイトに特定のホスト名を強制するための Apache mod_rewrite ソリューション

RewriteCond %{HTTP_HOST} !^www.example.com RewriteCond %{HTTP_HOST} !^$ RewriteCond %{SERVER_PORT} !^80$ RewriteRule ^/(.*) http://www.example.com:%{SERVER_PORT}/$1 [L,R]

ポート 80 で実行されているサイトに特定のホスト名を強制するための Apache mod_rewrite ソリューション

RewriteCond %{HTTP_HOST} !^www.example.com RewriteCond %{HTTP_HOST} !^$ RewriteRule ^/(.*) http://www.example.com/$1 [L,R]

80以外のポートで実行されているサイトに特定のホスト名を強制するNetScaler ADCソリューション

add responder action act1 redirect '"http://www.example.com:"+CLIENT.TCP.DSTPORT+HTTP.REQ.URL' add responder policy pol1 '!HTTP.REQ.HOSTNAME.CONTAINS("www.example.com")&&!HTTP.REQ.HOSTNAME.EQ("")&&!HTTP.REQ.HOSTNAME.PORT.EQ(80)&&HTTP.REQ.HOSTNAME.CONTAINS("example.com")' act1 bind responder global pol1 100 END

ポート80で実行されているサイトに特定のホスト名を強制するためのNetScaler ADCソリューション

add responder action act1 redirect '"http://www.example.com"+HTTP.REQ.URL' add responder policy pol1 '!HTTP.REQ.HOSTNAME.CONTAINS("www.example.com")&&!HTTP.REQ.HOSTNAME.EQ("")&&HTTP.REQ.HOSTNAME.PORT.EQ(80)&&HTTP.REQ.HOSTNAME.CONTAINS("example.com")' act1 bind responder global pol1 100 END

ドキュメントルートの移動

通常、Web サーバーのドキュメントルートは URL「/」に基づいています。ただし、ドキュメントルートは任意のディレクトリにすることができます。トップレベルの「/」ディレクトリから別のディレクトリに変更された場合、トラフィックをドキュメントルートにリダイレクトできます。

次の例では、ドキュメントルートを/から /e/www に変更します。最初の 2 つの例では、単純に 1 つの文字列を別の文字列に置き換えます。3 番目の例は、ルートディレクトリを置き換えるとともに、URL の残りの部分 (パスとクエリ文字列) を保持するため、より汎用的です。たとえば、/example/file.html を /e/www/example/file.html にリダイレクトします。

ドキュメントルートを移動するための Apache mod_rewrite ソリューション

RewriteEngine on RewriteRule ^/$ /e/www/ [R]

ドキュメントルートを移動するためのNetScaler ADCソリューション

add responder action act1 redirect '"/e/www/"' add responder policy pol1 'HTTP.REQ.URL.EQ("/")' act1 bind responder global pol1 100

ドキュメントルートを移動し、パス情報を要求に追加するためのNetScaler ADCソリューション

add responder action act1 redirect '"/e/www"+HTTP.REQ.URL' add responder policy pol1 '!HTTP.REQ.URL.STARTSWITH("/e/www/")' act1 bind responder global pol1 100 END

ホームディレクトリを新しい Web サーバーに移動する

Web サーバー上のホームディレクトリに送信される要求を別の Web サーバーにリダイレクトしたい場合があります。たとえば、新しい Web サーバーが時間の経過とともに古いサーバーを置き換える場合、ホームディレクトリを新しい場所に移行するときに、移行されたホームディレクトリの要求を新しい Web サーバーにリダイレクトする必要があります。

次の例では、新しい Web サーバーのホスト名は newserver です。

別の Web サーバーにリダイレクトするための Apache mod_rewrite ソリューション

RewriteRule ^/(.+) http://newserver/$1 [R,L]

別のWebサーバーにリダイレクトするためのNetScaler ADCソリューション(方法1)

add responder action act1 redirect '"http://newserver"+HTTP.REQ.URL' add responder policy pol1 'HTTP.REQ.URL.REGEX_MATCH(re#^/(.+)#)' act1 bind responder global pol1 100 END

別のWebサーバーにリダイレクトするためのNetScaler ADCソリューション(方法2)

add responder action act1 redirect '"http://newserver"+HTTP.REQ.URL' add responder policy pol1 'HTTP.REQ.URL.LENGTH.GT(1)' act1 bind responder global pol1 100 END

構造化されたホームディレクトリの操作

通常、数千人のユーザーがいるサイトには、構造化されたホームディレクトリのレイアウトがあります。たとえば、各ホームディレクトリは、ユーザー名の最初の文字を使用して名前が付けられたサブディレクトリの下に配置できます。たとえば、jsmith のホームディレクトリ (/~jsmith/anypath) は /home/j/smith/.www/anypath、rvalveti (/~rvalveti/anypath) のホームディレクトリは /home/r/rvalveti/.www/anypath になります。

次の例では、要求をホームディレクトリにリダイレクトします。

構造化ホームディレクトリ用の Apache mod_rewrite ソリューション

RewriteRule ^/~(([a-z])[a-z0-9]+)(.*) /home/$2/$1/.www$3

構造化ホームディレクトリ用のNetScaler ADCソリューション

構造化ホームディレクトリ用のNetScaler ADCソリューション

add rewrite action act1 replace 'HTTP.REQ.URL' '"/home/"+ HTTP.REQ.URL.AFTER_STR("~").PREFIX(1)+"/"+ HTTP.REQ.URL.AFTER_STR("~").BEFORE_STR("/")+"/.www"+HTTP.REQ.URL.SKIP('/',1)' add rewrite policy pol1 'HTTP.REQ.URL.PATH.STARTSWITH("/~")' act1 bind rewrite global pol1 100

無効な URL を他の Web サーバにリダイレクトする

URL が有効でない場合は、別の Web サーバーにリダイレクトする必要があります。たとえば、URL で指定されたファイルが、その URL で指定されたサーバー上に存在しない場合は、別の Web サーバーにリダイレクトする必要があります。

Apache では、mod_rewrite を使用してこのチェックを実行できます。NetScaler ADCでは、HTTPコールアウトは、サーバー上でスクリプトを実行して、サーバー上のファイルをチェックできます。次のNetScaler ADC 例では、file_check.cgi というスクリプトがURLを処理し、この情報を使用してサーバー上のターゲットファイルが存在するかどうかを確認します。スクリプトはTRUEまたはFALSEを返し、NetScaler ADCはスクリプトが返す値を使用してポリシーを検証します。

リダイレクトの実行に加えて、NetScaler ADCはカスタムヘッダーを追加したり、2番目のNetScaler ADC 例のように、応答本文にテキストを追加したりできます。

URLが間違っている場合のリダイレクトのためのApache mod_rewriteソリューション

RewriteCond /your/docroot/%{REQUEST_FILENAME} !-f RewriteRule ^(.+) http://webserverB.com/$1 [R]

URLが間違っている場合のリダイレクトのためのNetScaler ADCソリューション(方法1)

add HTTPCallout Call set policy httpCallout Call -IPAddress 10.102.59.101 -port 80 -hostExpr '"10.102.59.101"' -returnType BOOL -ResultExpr 'HTTP.RES.BODY(100).CONTAINS("True")' -urlStemExpr '"/cgi-bin/file_check.cgi"' -parameters query=http.req.url.path -headers Name("ddd") add responder action act1 redirect '"http://webserverB.com"+HTTP.REQ.URL' add responder policy pol1 '!HTTP.REQ.HEADER("Name").EXISTS && !SYS.HTTP_CALLOUT(call)' act1 bind responder global pol1 100

URLが間違っている場合のリダイレクトのためのNetScaler ADCソリューション(方法2)

add HTTPCallout Call set policy httpCallout Call -IPAddress 10.102.59.101 -port 80 -hostExpr '"10.102.59.101"' -returnType BOOL -ResultExpr 'HTTP.RES.BODY(100).CONTAINS("True")' -urlStemExpr '"/cgi-bin/file_check.cgi"' -parameters query=http.req.url.path -headers Name("ddd") add responder action act1 respondwith '"HTTP/1.1 302 Moved Temporarily\r\nLocation: http://webserverB.com"+HTTP.REQ.URL+"\r\n\r\nHTTPCallout Used"' add responder policy pol1 '!HTTP.REQ.HEADER("Name").EXISTS && !SYS.HTTP_CALLOUT(call)' act1 bind responder global pol1 100

時間に基づく URL の書き換え

時間に基づいてURLを書き換えることができます。次の例では、時刻に応じて example.html のリクエストを example.day.html または example.night.html に変更します。

時間に基づいてURLを書き換えるためのApache mod_rewriteソリューション

RewriteCond %{TIME_HOUR}%{TIME_MIN} >0700 RewriteCond %{TIME_HOUR}%{TIME_MIN} <1900 RewriteRule ^example.html$ example.day.html [L] RewriteRule ^example.html$ example.night.html

時間に基づいてURLを書き換えるためのNetScaler ADCソリューション

add rewrite action act1 insert_before 'HTTP.REQ.URL.PATH.SUFFIX('.',0)' '"day."' add rewrite action act2 insert_before 'HTTP.REQ.URL.PATH.SUFFIX('.',0)' '"night."' add rewrite policy pol1 'SYS.TIME.WITHIN(LOCAL 07h 00m,LOCAL 18h 59m)' act1 add rewrite policy pol2 'true' act2 bind rewrite global pol1 101 bind rewrite global pol2 102

新しいファイル名にリダイレクトする (ユーザーには見えない)

Web ページの名前を変更しても、ページの名前が変更されたことをユーザーが認識できないようにしながら、下位互換性を保つために古い URL を引き続きサポートできます。

次の例の最初の 2 つでは、ベースディレクトリは /~quux/ です。3 番目の例は、任意のベースディレクトリと URL 内のクエリ文字列の存在に対応しています。

固定の場所でファイル名の変更を管理するための Apache mod_rewrite ソリューション

RewriteEngine on RewriteBase /~quux/ RewriteRule ^foo.html$ bar.html

固定された場所でファイル名の変更を管理するためのNetScaler ADCソリューション

add rewrite action act1 replace 'HTTP.REQ.URL.AFTER_STR("/~quux").SUBSTR("foo.html")' '"bar.html"' add rewrite policy pol1 'HTTP.REQ.URL.ENDSWITH("/~quux/foo.html")' act1 bind rewrite global pol1 100

URLの基本ディレクトリやクエリ文字列に関係なく、ファイル名の変更を管理するためのNetScaler ADCソリューション

add rewrite action act1 replace 'HTTP.REQ.URL.PATH.SUFFIX('/',0)' '"bar.html"' Add rewrite policy pol1 'HTTP.REQ.URL.PATH.CONTAINS("foo.html")' act1 Bind rewrite global pol1 100

新しいファイル名 (ユーザーに表示される URL) へのリダイレクト

Web ページの名前を変更する場合は、下位互換性を維持するために古い URL を引き続きサポートし、ブラウザに表示される URL を変更してページの名前が変更されたことをユーザーが確認できるようにします。

次の例の最初の 2 つでは、ベースディレクトリが /~quux/ のときにリダイレクトが行われます。3 番目の例は、任意のベースディレクトリと URL 内のクエリ文字列の存在に対応しています。

ブラウザに表示されるファイル名とURLを変更するためのApache mod_rewriteソリューション

RewriteEngine on RewriteBase /~quux/ RewriteRule ^old.html$ new.html [R]

ブラウザに表示されるファイル名とURLを変更するためのNetScaler ADCソリューション

add responder action act1 redirect 'HTTP.REQ.URL.BEFORE_STR("foo.html")+"new.html"' add responder policy pol1 'HTTP.REQ.URL.ENDSWITH("/~quux/old.html")' act1 bind responder global pol1 100

URLのベースディレクトリまたはクエリ文字列に関係なく、ブラウザに表示されるファイル名とURLを変更するためのNetScaler ADCソリューション

add responder action act1 redirect 'HTTP.REQ.URL.PATH.BEFORE_STR("old.html")+"new.html"+HTTP.REQ.URL.AFTER_STR("old.html")' add responder policy pol1 'HTTP.REQ.URL.PATH.CONTAINS("old.html")' act1 bind responder global pol1 100

ブラウザ依存のコンテンツに対応

ブラウザー固有の制限 (少なくとも重要なトップレベルページの場合) に対応するために、ブラウザーの種類とバージョンに制限を設定する必要がある場合があります。たとえば、最新の Netscape バリアントには最大バージョン、Lynx ブラウザーには最小バージョン、その他すべてのバージョンには平均的な機能バージョンを設定できます。

以下の例は HTTP ヘッダー「User-Agent」に作用し、このヘッダーが「Mozilla/3」で始まる場合、ページ MyPage.html が myPage.ns.html に書き換えられます。ブラウザが「Lynx」または「Mozilla」バージョン1または2の場合、URLはmyPage.20.htmlになる。他のすべてのブラウザはページ myPage.32.html を受け取ります。

ブラウザ固有の設定のための Apache mod_rewrite ソリューション

RewriteCond %{HTTP_USER_AGENT} ^Mozilla/3.* RewriteRule ^MyPage.html$ MyPage.NS.html [L] RewriteCond %{HTTP_USER_AGENT} ^Lynx/.* [OR] RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[12].* RewriteRule ^MyPage.html$ MyPage.20.html [L] RewriteRule ^fMyPage.html$ MyPage.32.html [L] NetScaler solution for browser-specific settings add patset pat1 bind patset pat1 Mozilla/1 bind Patset pat1 Mozilla/2 bind patset pat1 Lynx bind Patset pat1 Mozilla/3 add rewrite action act1 insert_before 'HTTP.REQ.URL.SUFFIX' '"NS."' add rewrite action act2 insert_before 'HTTP.REQ.URL.SUFFIX' '"20."' add rewrite action act3 insert_before 'HTTP.REQ.URL.SUFFIX' '"32."' add rewrite policy pol1 'HTTP.REQ.HEADER("User-Agent").STARTSWITH_INDEX("pat1").EQ(4)' act1 add rewrite policy pol2 'HTTP.REQ.HEADER("User-Agent").STARTSWITH_INDEX("pat1").BETWEEN(1,3)' act2 add rewrite policy pol3 '!HTTP.REQ.HEADER("User-Agent").STARTSWITH_ANY("pat1")' act3 bind rewrite global pol1 101 END bind rewrite global pol2 102 END bind rewrite global pol3 103 END

ロボットによるアクセスをブロックする

ロボットが特定のディレクトリまたは一連のディレクトリからページを取得するのをブロックして、これらのディレクトリとの間のトラフィックを緩和することができます。特定の場所に基づいてアクセスを制限することも、User-Agent HTTP ヘッダーの情報に基づいてリクエストをブロックすることもできます。

次の例では、ブロックされるウェブロケーションは /~quux/foo/arc/、ブロックされるIPアドレスは 123.45.67.8 と 123.45.67.9、ロボットの名前は nameOfBadRobot です。

パスとユーザーエージェントヘッダーをブロックするための Apache mod_rewrite ソリューション

RewriteCond %{HTTP_USER_AGENT} ^NameOfBadRobot.* RewriteCond %{REMOTE_ADDR} ^123.45.67.[8-9]$ RewriteRule ^/~quux/foo/arc/.+ - [F]

パスとユーザーエージェントヘッダーをブロックするためのNetScaler ADCソリューション

add responder action act1 respondwith '"HTTP/1.1 403 Forbidden\r\n\r\n"' add responder policy pol1 'HTTP.REQ.HEADER("User_Agent").STARTSWITH("NameOfBadRobot")&&CLIENT.IP.SRC.EQ(123.45.67.8)&&CLIENT.IP.SRC.EQ(123.45.67.9) && HTTP.REQ.URL.STARTSWITH("/~quux/foo/arc")' act1 bind responder global pol1 100

インラインイメージへのアクセスをブロックする

ユーザーが頻繁に自分の使用のためにインライングラフィックをコピーするためにサーバーに行くと(そして不要なトラフィックを生成する)場合は、HTTP Refererヘッダーを送信するブラウザーの機能を制限することができます。

次の例では、グラフィックスは Exampleにあります。

インラインイメージへのアクセスをブロックするためのApache mod_rewriteソリューション

RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://www.quux-corp.de/~quux/.\*$ RewriteRule .\*.gif$ - [F]

インラインイメージへのアクセスをブロックするためのNetScaler ADCソリューション

add patset pat1 bind patset pat1 .gif bind patset pat1 .jpeg add responder action act1 respondwith '"HTTP/1.1 403 Forbidden\r\n\r\n"' add responder policy pol1 '!HTTP.REQ.HEADER("Referer").EQ("") && !HTTP.REQ.HEADER("Referer").STARTSWITH("http://www.quux-corp.de/~quux/")&&HTTP.REQ.URL.ENDSWITH_ANY("pat1")' act1 bind responder global pol1 100

拡張なしリンクの作成

ユーザーがサーバー側のアプリケーションまたはスクリプトの詳細を知らないようにするには、ファイル拡張子をユーザーに表示しないようにします。これを行うには、拡張なしのリンクをサポートしたい場合があります。この動作は、書き換えルールを使用してすべてのリクエストに拡張機能を追加するか、またはリクエストに拡張機能を選択的に追加することで実現できます。

次の例の最初の 2 つは、すべてのリクエスト URL に拡張機能を追加する方法を示しています。最後の例では、2 つのファイル拡張子のうちの 1 つが追加されています。最後の例では、mod_rewrite モジュールは Web サーバー上に存在するため、ファイル拡張子を簡単に見つけることができます。対照的に、NetScaler ADCは、Webサーバー上の要求されたファイルの拡張子をチェックするためにHTTPコールアウトを呼び出す必要があります。コールアウト応答に基づいて、NetScaler ADCはリクエストURLに.htmlまたは.php拡張子を追加します。

2番目のNetScaler ADC 例では、HTTPコールアウトを使用して、サーバー上でホストされている file_check.cgi という名前のスクリプトを照会します。このスクリプトは、コールアウトで提供される引数が有効なファイル名かどうかをチェックします。

すべてのリクエストに.php拡張子を追加するためのApache mod_rewriteソリューション

RewriteRule ^/?([a-z]+)$ $1.php [L]

すべてのリクエストに.php拡張子を追加するためのNetScaler ADCポリシー

add rewrite action act1 insert_after 'HTTP.REQ.URL' '".php"' add rewrite policy pol1 'HTTP.REQ.URL.PATH.REGEX_MATCH(re#^/([a-z]+)$#)' act1 bind rewrite global pol1 100

リクエストに.htmlまたは.php拡張子を追加するためのApache mod_rewriteソリューション

RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^/?([a-zA-Z0-9]+)$ $1.php [L] RewriteCond %{REQUEST_FILENAME}.html –f RewriteRule ^/?([a-zA-Z0-9]+)$ $1.html [L]

リクエストに.htmlまたは.php拡張子を追加するためのNetScaler ADCポリシー

add HTTPCallout Call_html add HTTPCallout Call_php set policy httpCallout Call_html -IPAddress 10.102.59.101 -port 80 -hostExpr '"10.102.59.101"' -returnType BOOL -ResultExpr 'HTTP.RES.BODY(100).CONTAINS("True")' -urlStemExpr '"/cgi-bin/file_check.cgi"' -parameters query=http.req.url+".html" set policy httpCallout Call_php -IPAddress 10.102.59.101 -port 80 -hostExpr '"10.102.59.101"' -returnType BOOL -ResultExpr 'HTTP.RES.BODY(100).CONTAINS("True")' -urlStemExpr '"/cgi-bin/file_check.cgi"' -parameters query=http.req.url+".php" add patset pat1 bind patset pat1 .html bind patset pat1 .php bind patset pat1 .asp bind patset pat1 .cgi add rewrite action act1 insert_after 'HTTP.REQ.URL.PATH' '".html"' add rewrite action act2 insert_after "HTTP.REQ.URL.PATH" '".php"' add rewrite policy pol1 '!HTTP.REQ.URL.CONTAINS_ANY("pat1") && SYS.HTTP_CALLOUT(Call_html)' act1 add rewrite policy pol2 '!HTTP.REQ.URL.CONTAINS_ANY("pat1") && SYS.HTTP_CALLOUT(Call_php)' act2 bind rewrite global pol1 100 END bind rewrite global pol2 101 END

作業中の URI を新しい形式にリダイレクトする

次のような作業 URL のセットがあるとします。

/index.php?id=nnnn

これらの URL を /nnnn に変更し、検索エンジンがインデックスを新しい URI 形式に更新するようにするには、次の操作を行う必要があります。

  • 古い URI を新しいものにリダイレクトして、検索エンジンがインデックスを更新できるようにします。
  • 新しい URI を古い URI に書き直して、index.php スクリプトが正しく実行されるようにします。

これを実現するには、クエリ文字列にマーカーコードを挿入し(マーカーコードが訪問者に表示されないようにして)、index.php スクリプトのマーカーコードを削除します。

次の例では、クエリ文字列にマーカーが存在しない場合にのみ、古いリンクから新しい形式にリダイレクトします。新しい形式を使用するリンクが古い形式に書き直され、マーカーがクエリ文字列に追加されます。

Apache mod_rewriteソリューション

RewriteCond %{QUERY_STRING} !marker RewriteCond %{QUERY_STRING} id=([-a-zA-Z0-9_+]+) RewriteRule ^/?index.php$ %1? [R,L] RewriteRule ^/?([-a-zA-Z0-9_+]+)$ index.php?marker&id=$1 [L] NetScaler solution add responder action act_redirect redirect 'HTTP.REQ.URL.PATH.BEFORE_STR("index.php")+HTTP.REQ.URL.QUERY.VALUE("id")' add responder policy pol_redirect '!HTTP.REQ.URL.QUERY.CONTAINS("marker")&& HTTP.REQ.URL.QUERY.VALUE("id").REGEX_MATCH(re/[-a-zA-Z0-9_+]+/) && HTTP.REQ.URL.PATH.CONTAINS("index.php")' act_redirect bind responder global pol_redirect 100 END add rewrite action act1 replace 'HTTP.REQ.URL.PATH.SUFFIX('/',0)' '"index.phpmarker&id="+HTTP.REQ.URL.PATH.SUFFIX('/',0)' add rewrite policy pol1 '!HTTP.REQ.URL.QUERY.CONTAINS("marker")' act1 bind rewrite global pol1 100 END

選択したページにセキュリティで保護されたサーバーが使用されていることの確認

選択したWebページにセキュリティで保護されたサーバーのみが使用されるようにするには、次のApache mod_rewriteコードまたはNetScaler ADC Responderポリシーを使用できます。

Apache mod_rewriteソリューション

RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^/?(page1|page2|page3|page4|page5)$ https://www.example.com/%1 [R,L]

正規表現を使用したNetScaler ADCソリューション

add responder action res_redirect redirect '"https://www.example.com"+HTTP.REQ.URL' add responder policy pol_redirect '!CLIENT.TCP.DSTPORT.EQ(443)&&HTTP.REQ.URL.REGEX_MATCH(re/page[1-5]/)' res_redirect bind responder global pol_redirect 100 END

パターンセットを使用するNetScaler ADCソリューション

add patset pat1 bind patset pat1 page1 bind patset pat1 page2 bind patset pat1 page3 bind patset pat1 page4 bind patset pat1 page5 add responder action res_redirect redirect '"https://www.example.com"+HTTP.REQ.URL' add responder policy pol_redirect '!CLIENT.TCP.DSTPORT.EQ(443)&&HTTP.REQ.URL.CONTAINS_ANY("pat1")' res_redirect bind responder global pol_redirect 100 END
このコンテンツの正式なバージョンは英語で提供されています。Cloud Software Groupドキュメントのコンテンツの一部は、お客様の利便性のみを目的として機械翻訳されています。Cloud Software Groupは機械翻訳されたコンテンツを管理していないため、誤り、不正確な情報、不適切な用語が含まれる場合があります。英語の原文から他言語への翻訳について、精度、信頼性、適合性、正確性、またはお使いのCloud Software Group製品またはサービスと機械翻訳されたコンテンツとの整合性に関する保証、該当するライセンス契約書またはサービス利用規約、あるいはCloud Software Groupとのその他すべての契約に基づき提供される保証、および製品またはサービスのドキュメントとの一致に関する保証は、明示的か黙示的かを問わず、かかるドキュメントの機械翻訳された範囲には適用されないものとします。機械翻訳されたコンテンツの使用に起因する損害または問題について、Cloud Software Groupは責任を負わないものとします。
Apache mod_rewrite ルールからアドバンスドポリシーへの移行

この記事の概要