このフィールドに指定する正規表現により、サーバーでクライアント・リクエストを処理するための様々な条件を定義します。これらの正規表現では、Oracle Traffic Director構成のobj.conf
ファイル内にIf
条件が定義され、ディレクティブのセットをどのように処理するかが決定されます。
たとえば、ルート設定route_1
内に条件$uri = "/images/*"
を指定すると、構成のobj.conf
ファイル内に次のIf
タグが定義されます。
<If $uri = "/images/*"> NameTrans fn="assign-name" id="route_1" name="route_1" </If>
obj.conf
ファイル内のディレクティブの詳細は、Oracle Traffic Director構成ファイル・リファレンスを参照してください。
この項の内容は次のとおりです。
この付録の内容は次のとおりです。
関連項目
If
、ElseIf
およびElse
タグでは、ディレクティブのセットを実行する条件を定義できます。これらのタグは、Object
タグの内部でのみ使用できます。また、これらのタグで式を評価して、含まれている1つ以上のディレクティブを条件付きで実行できます。次に、これらのタグの使用方法をまとめます。
If
タグとElseIf
タグでは、正規表現のサポートなど、より複雑な式構文を作成できます。If
およびElseIf
の式構文の詳細は、「式」を参照してください。
If
、ElseIf
およびElse
タグには、他のタグを含めることができます。
If
およびElseIf
の式は、含まれているディレクティブごとにではなく、リクエストごとに1回評価されます。
If
、ElseIf
およびElse
タグに、複数のタイプのディレクティブを含めることはできません。
If
タグとElseIf
タグ内のディレクティブには、正規表現の後方参照を含めることができます。
使用する場合、ElseIf
タグまたはElse
タグは、If
タグまたはElseIf
タグの直後に続ける必要があります。ElseIf
タグとElse
タグは、先行するIf
またはElseIf
の式が論理真に評価されるとスキップされます。
次の例は、If
、ElseIf
およびElse
タグの構文を示しています。
<If $path eq "/"> <If $browser =~ "MSIE"> NameTrans fn="rewrite" path="/msie.html" </If> <ElseIf $browser =~ "Mozilla"> NameTrans fn="rewrite" path="/mozilla.html" </ElseIf> <Else> NameTrans fn="rewrite" path="/unknown.html" </Else> </If>
この例では、ブラウザがMicrosoft Internet Explorer、Mozilla Firefoxまたは他のブラウザのいずれであるかに応じて異なるページを表示します。
事前定義変数は、サーバーによって暗黙的に定義されています。次の表には、事前定義変数およびその説明がリストされています:
変数 | 説明 |
---|---|
|
正規表現の後方参照(n番目の取得サブパターンの値、n = 1...9)、たとえば 正規表現の後方参照は、 |
|
正規表現に一致した値。 正規表現の後方参照は、 |
|
正規表現の後方参照(n番目の取得サブパターンの値、n = 1...9)、たとえば 正規表現の後方参照は、 |
|
正規表現に一致した値。 正規表現の後方参照は、 |
|
OTDがクライアント(ブラウザ)から受け取る現行のHTTPリクエストのエンティティボディ(ある場合)が含まれます。この変数に格納されるデータのサイズは、server.xmlのhttp要素の |
|
Webブラウザ・バージョン(クライアントが |
|
チャンク・エンコーディングを使用してリクエスト本文が送信されたかどうかを示すブール変数。 |
|
レスポンス・ステータス・コード。 |
|
リクエストのCookie nameの値。 |
|
|
|
環境変数nameの値(CGI/SHTMLの環境変数を含む)。 |
|
|
|
|
|
リクエストが内部で生成されたかどうかを示すブール値。 |
|
|
|
接続が開いたままであるかどうかを示すブール値。 |
|
|
|
リクエスト・メソッド( |
|
リクエストされたパス(ステージに応じてURI、部分パス、ファイル・システム・パスのいずれか)。 事前定義変数 |
|
|
|
|
|
リクエスト・プロトコル( |
|
リクエスト問合せ文字列( |
|
レスポンス理由フレーズ。 |
|
|
|
|
|
リクエストが再起動されたかどうかを示すブール値。 |
|
|
|
自己参照URLの接頭辞。 |
|
2006年1月1日00:00:00 UTCを基準として秒数で表したリクエスト受信時間。 |
|
リクエストを受信した日。値の範囲は01から31です。 |
|
深夜を基準として表したリクエスト受信時間。値の範囲は00から23です。 |
|
リクエストを受信した分。値の範囲は00から59です。 |
|
リクエストを受信した月。値の範囲は01から12です。 |
|
リクエストを受信した秒。値の範囲は00から61です。 |
|
リクエストを受信した曜日。値の範囲は0から6であり、0は日曜日に対応します。 |
|
リクエストを受信した年(4桁)。 |
|
|
|
リクエストされたリソースのURI( |
|
リクエストされたリソースのURL。 |
|
クライアントが接続したホスト名。 |
|
|
|
セキュア・トランスポートが使用されたかどうかを示すブール値。 |
|
レスポンス・ヘッダーが送信されたかどうかを示すブール値。 |
|
|
server.xml
ファイルでは、variables
要素を使用してカスタム変数を定義できます。その後、obj.conf
の関数の関数パラメータでこれらの変数を使用できます。リクエスト時にobj.conf
ファイル内でset-variables
関数を使用して変数を定義することもできます。
注意:
事前定義変数はカスタム変数よりも優先されます。カスタム変数には大文字の名前を使用することをお薦めします。大文字を使用することで、将来、事前定義変数のリストが拡張されても小文字の事前定義変数との競合を回避できます。
サーバーでは、$variable
を解決するときに次の順序が使用されます:
事前定義変数
obj.conf
内でset-variable
を使用してリクエスト時に定義された変数
server.xml
内でvirtual-server
要素のvariable
サブ要素によって定義された変数
server.xml
内でserver
要素のvariable
サブ要素によって定義された変数
$variable
をリクエスト時に定義すると、その内容がrq->vars
pblock
に名前-値ペアとして格納されます。これらの変数にはserver.xml
の変数よりも高い優先度が割り当てられるため、server.xml
の変数はリクエスト時にオーバーライドされます。
式を使用すると、サーバー・アプリケーション関数(SAF)のパラメータを動的に作成してどのSAFを実行するかをリクエストごとに選択できます。式はリテラル、変数、関数および演算子から作成されます。式はIf
タグおよびElseIf
タグ、ログ形式文字列およびSAFのパラメータで使用します。
この項で説明する項目は、次のとおりです。
式構文はPerlで使用される構文と似ています。式はリテラル、変数、関数および演算子から作成されます。
次に、If
タグ内での式の使用例を示します:
<If not $internal and $uri =~ "^/private/(.*)$" and $referer !~ "^https?://example.com/"> NameTrans fn="redirect" url="http://example.com/denied.jsp?file=$1" </If>
この例では、式により、リクエストが特定の基準を満たしているかどうか、たとえば、内部リクエストであるかどうかをチェックします。リクエストが基準を満たさない場合、サーバーはリクエストをリクエスト拒否用のURLにリダイレクトします。
式には、次のコンポーネントが含まれています:
リテラル - "^/private/(.*)$"
および"^https?://example.com/"
変数 - $internal
、$uri
および$referer
演算子 - not
、and
、=~
および!~
「If」
タグと「ElseIf」
タグの詳細は、If、ElseIfおよびElseタグを参照してください
特定の状況において、たとえば、If
式またはElseIf
式を評価した後、サーバーで式の結果をブール値として処理する必要があります。数値をブール値に変換するとき、サーバーでは次のルールが使用されます:
ゼロはfalseに評価されます。
それ以外のすべての数値はtrueに評価されます。
文字列をブール値に変換するとき、サーバーでは次のルールが使用されます:
長さがゼロの文字列はfalseに評価されます。
文字列0(ゼロ)はfalseに評価されます。
それ以外のすべての文字列はtrueに評価されます。
式リテラルは文字列リテラルと数値リテラルに分けられます。
文字列リテラルは一重引用符('
)または二重引用符("
)で囲みます。文字列リテラルを一重引用符で囲んだ場合、リテラルの値は引用符内の値です。二重引用符を使用した場合、引用符内にある変数または式への参照がすべて補間されます。詳細は、文字列補間を参照してください。
次の式は、一重引用符および二重引用符の使用例です。
# This expression evaluates to true. ('foo' eq "foo") # This expression evaluates to false. ('foo' eq "bar") # This expression evaluates to true. ('foo' eq "f$(lc('O'))o") # This expression may evaluate to true or false, # depending on the value of the variable $foo ('$foo' eq "$foo")
二重引用符で囲んだ文字列内に補間されないドル記号$
を含めるには、2つのドル記号($$
)または円記号とドル記号(\$
)のエスケープ・シーケンスを使用します。
二重引用符で囲んだリテラル内に二重引用符を表示する場合は、その前に円記号を付ける必要があります。二重引用符で囲んだリテラル内に円記号(\
)を表示する場合は、その前に円記号を付ける必要があります。一重引用符で囲んだリテラル内に一重引用符を表示する場合は、その前に円記号を付ける必要があります。
次に、有効なリテラルおよび無効なリテラルの例を示します:
# The following are examples of valid literals 'this string literal is bracketed by single quotes' "this string literal is bracketed by double quotes" "the backslash, \\, escapes characters in double quote string literals" 'it\'s easy to use strings literals' # The following are examples of invalid literals 'it's important to escape quote characters' "any \ characters in double quote string literals must be escaped"
式では、任意の$variable
を変数として使用できます。Client
タグの構文に合わせるため、式では事前定義変数名のドル記号$
接頭辞を省略できます。たとえば、obj.conf
ファイルに記述された次の3つの部分は意味的に同等です:
<If $uri = "*.html"> ... </If> <If uri = "*.html"> ... </If> <Client uri = "*.html"> ... </Client>
独自に定義した変数名には、$
接頭辞を使用する必要があります。たとえば、server.xml
のvariable
要素内にsomecustomvariable
が定義されていても、次の式は無効です:
<If somecustomvariable = "foo"> ... </If>
この式を有効にするには、ドル記号接頭辞を追加します:
<If $somecustomvariable = "foo"> ... </If>
次の表には、式で使用される演算子がリストされています。
演算子記号 | 演算子名 |
---|---|
|
C言語形式の論理否定 |
|
ワイルドカード・パターン一致 |
|
正規表現一致 |
|
正規表現不一致 |
|
加算または単項のプラス |
|
減算または単項のマイナス |
|
文字列連結 |
defined |
値が定義済 |
|
ディレクトリが存在 |
|
ファイルまたはディレクトリが存在 |
|
ファイルが存在 |
|
シンボリック・リンクが存在 |
|
ファイルが読取り可能 |
|
ファイル・サイズ |
|
URIがアクセス可能なファイルまたはディレクトリにマップ |
|
より小さい(数値) |
|
以下(数値) |
|
より大きい(数値) |
|
以上(数値) |
|
より小さい(文字列) |
|
以下(文字列) |
|
より大きい(文字列) |
|
以上(文字列) |
|
等しい(数値) |
|
等しくない(数値) |
|
等しい(文字列) |
|
等しくない(文字列) |
|
C言語形式の排他的論理和 |
|
C言語形式の論理積 |
|
C言語形式の論理和 |
|
論理否定 |
|
論理積 |
|
論理和 |
|
排他的論理和 |
次の表には、式で使用できる演算子の優先順位が、優先順位の高いものから順にリストされています。
記号 | オペランド | 結合性 | 説明 |
---|---|---|---|
|
0 |
左から右 |
カッコ |
|
1 |
右から左 |
符号演算子 |
|
2 |
非結合的 |
パターン一致演算子 |
|
2 |
非結合的 |
加法演算子 |
|
1 |
右から左 |
名前付き演算子 |
|
2 |
非結合的 |
関係演算子 |
|
2 |
非結合的 |
等値演算子 |
|
2 |
左から右 |
C言語形式の排他的論理和演算子 |
|
2 |
左から右 |
C言語形式の論理積演算子 |
|
2 |
左から右 |
C言語形式の論理和演算子 |
|
1 |
右から左 |
論理否定演算子 |
|
2 |
左から右 |
論理積演算子 |
|
2 |
左から右 |
論理和演算子 |
数値演算子(<
、<=
、>
、>=
、==
、!=
)は、文字列ではなく数値を対象として動作します。数値、日付およびタイムスタンプの比較を容易にするため、数値演算子では引数に含まれている空白、コロン、スラッシュおよびカンマがすべて無視されます。最初の桁より後のダッシュも無視されます。
注意:
通常、数値以外に数値演算子を使用することは正しくありません。
たとえば、次の式はtrueに評価されます:
# The following expression evaluates to true because both # "foo" and "bar" are numerically equivalent to 0 ("foo" == "bar")
式関数により、式で使用するデータを操作します。式関数はSAFとは異なります。SAFはHTTPリクエストに関連付けられた実際の作業を実行するのに対し、式関数は、どのSAFを実行するかおよび何のパラメータをSAFに渡すかを選択するために使用されます。
一部の式関数には、1つ以上の引数が必要です。式関数では、引数リストをカッコ(()
)で囲み、個々の引数をカンマ(,
)で区切ります。
次の項には、個々の式関数がリストされています:
choose
関数は、valuesのパイプで区切られた値を解析して、その1つをランダムに返します。
構文
choose (values)
引数
次の表で、この式関数の引数について説明します。
引数 | 説明 |
---|---|
values |
選択元となる、パイプ文字(|)で区切られた値のリスト |
例
次のobj.conf
コードでは、choose
を使用して3つのイメージの中から1つをランダムに選択します:
NameTrans fn="rewrite" from="/images/random" path="/images/$(choose('iwsvi.jpg|0061.jpg|webservervii.jpg'))"
escape
関数は、util_uri_escape
を使用して特殊なオクテットをパーセント・エンコードされた同等値に変換することによってURIをエンコードし、その結果を返します。
構文
escape(uri)
引数
次の表で、この式関数の引数について説明します。
引数 | 説明 |
---|---|
uri |
式関数によって変換されるURI |
注意:
external
関数は、外部のリライト・プログラムに値を渡し、その結果を返します。
external
を起動するたびに改行が1回発生しますが、これは終端された行が外部のリライト・プログラムのstdin
に書き込まれるためです。このプログラムでは、入力行ごとに出力行を1行生成する必要があります。外部のリライト・プログラムを開発するときは、stdout
のバッファリングを回避することが重要です。たとえば、Perlでは$| = 1
;と記述するとバッファリングが無効になります。サーバーでは外部のリライト・プログラムが入力行ごとに出力行を1行生成することを想定しているため、外部のリライト・プログラムがその出力をバッファリングしている場合、サーバーが応答しなくなる可能性があります。
構文
external (program, value)
引数
次の表に、external
関数の引数を示します。
引数 | 説明 |
---|---|
program |
program引数は、外部のリライト・プログラムのファイル名です。プログラムはオペレーティング・システムのデフォルト・シェル(UNIX/Linuxの |
value |
リライト・プログラムに渡される値。 |
例
次の例は、接頭辞/home/を/u/
に変更するために使用する、外部のリライト・プログラムrewrite.plです:
#!/usr/bin/perl
$| = 1;
while (<STDIN>) {
s|^/home/|/u/|;
print $_;
}
この例において、rewrite.pl
を起動するために使用するexternal式関数は、次のとおりです:
NameTrans fn="rewrite" path="$(external('rewrite.pl', $path
))"
httpdate
関数は、Expires
などのHTTPヘッダー・フィールドで使用する、RFC 1123の日付タイムスタンプを返します。
構文
httpdate (time)
引数
次の表で、httpdate
関数の引数について説明します。
引数 | 説明 |
---|---|
time |
時間の値。 |
例
次のobj.conf
コードは、レスポンスが1日より長い期間キャッシュされていないことを示すExpires
ヘッダーを設定するために使用できます:
ObjectType fn="set-variable"
insert-srvhdrs="$(httpdate($time + 86400))"
lc
関数は、文字列内にあるすべてのUS ASCII文字を小文字に変換し、その結果を返します。
構文
lc(string)
引数
次の表で、lc
関数の引数について説明します。
引数 | 説明 |
---|---|
string |
式関数によって小文字に変換される文字列 |
例
次のobj.confコードは、リクエストURIに間違って大文字を使用したクライアントを同等の小文字URIにリダイレクトするために使用できます:
<If code == 404 and not -e path and -e lc(path)>
Error fn="redirect" uri="$(lc($uri))"
</If>e($time + 86400))"
注意:
length
関数は、その引数の長さ、つまり、文字列の長さを表す数値を返します。
構文
length (string)
引数
次の表で、この式関数の引数について説明します。
引数 | 説明 |
---|---|
string |
式関数によって長さが計算される文字列 |
例
次のobj.confコードは、255バイトよりも長いURIをリクエストしたクライアントに404 Not Foundエラーを送信するために使用できます:
<If length($uri) > 255)>
PathCheck fn="deny-existence"
</If>
lookup
関数は、テキスト・ファイル内にある名前-値ペアを調べ、名前nameに対応する値を返します。ファイル内の名前-値ペアは、空白で区切られます。
指定された名前の名前-値ペアがファイル内に含まれていない場合、この関数はdefaultvalueの値(指定されている場合)を返すか、空の文字列を返します。
構文
lookup(filename, name, defaultvalue)
引数
次の表で、この式関数の引数について説明します。
引数 | 説明 |
---|---|
filename |
行ごとに1つの名前-値ペアを含むテキスト・ファイルの名前を示します。filenameには、絶対パス、またはサーバーの |
name |
この関数によってテキスト・ファイル内を検索する対象となる、名前-値ペアの名前。 |
defaultvalue |
filenameが存在するものの、その中に名前がnameの値に一致する名前-値ペアが含まれていない場合に、この関数が返す値。defaultvalueが指定されていない場合、このデフォルト値は空の文字列になります。 |
例
次の例は、ショートカットURIをURIにマップするlookup関数とともに使用できる、urimap.confというテキスト・ファイルを示しています:
# This file contains URI mappings for Oracle Traffic Director.
# Lines beginning with # are treated as comments.
# All other lines consist of a shortcut URI, whitespace, and canonical URI.
/webserver /software/products/web_srvr/home_web_srvr.html
/solaris /software/solaris/
/java /software/java/
前述のサンプル・テキスト・ファイルを使用して、よくアクセスするリソースのショートカットURIを実装するには、次のlookup式を使用します:
<If lookup('urimap.conf', uri)>
NameTrans fn="redirect" url="$(lookup('urimap.conf', uri))"
</If>
lookupregex
関数は、テキスト・ファイル内にある正規表現-値ペアを調べます。この関数は、入力として文字列を使用し、それを各行の正規表現と照合します。これは、一致した場合にのみ対応する値を返します。ファイルに一致が含まれていない場合、この関数はデフォルト値(指定されている場合)を返すか、空の文字列を返します。
構文
lookupregex (filename,string,defaultvalue)
引数
次の表で、この式関数の引数について説明します。
引数 | 説明 |
---|---|
filename |
filenameは、1行ごとに1つの正規表現-値ペアを含むテキスト・ファイルの名前です。filenameには、絶対パスまたはサーバーの構成ディレクトリを基準とする相対パスを指定できます。 |
string |
テキスト・ファイルのすべての正規表現と照合する文字列。 |
defaultvalue |
filenameが存在するものの、一致する正規表現-値ペアが含まれていない場合に、この関数が返す値。 |
owner
関数は、ファイルの所有者を返します。
構文
owner(path)
引数
次の表で、この式関数の引数について説明します。
引数 | 説明 |
---|---|
path |
最終データ変更をリクエストするディレクトリまたはファイル名への絶対パス |
uc
関数は、文字列内にあるすべてのUS ASCII文字を大文字に変換し、その結果を返します。
構文
uc(string)
引数
次の表で、この式関数の引数について説明します。
表A-1 uc
の引数
引数 | 説明 |
---|---|
string |
式関数によって大文字に変換される文字列 |
注意:
unescape関数は、util_uri_unescapeを使用してパーセント・エンコードされたオクテットをそのエンコード前の形式に変換することによってURIをデコードし、その結果を返します。
構文
unescape(uri)
引数
次の表で、この式関数の引数について説明します。
表A-2 unescape
の引数
引数 | 説明 |
---|---|
uri |
関数によって変換されるURI。 |
注意:
If
式およびElseIf
式では、正規表現マッチング演算子の等号とチルダ(=~)
および感嘆符とチルダ(!~)
を使用して正規表現を評価できます。これらの正規表現では、Perl Compatible Regular Expressions (PCRE)によって実装されたPerl互換構文を使用します。
デフォルトでは、正規表現の大文字と小文字は区別されます。次の例のように正規表現の先頭に(?i)
オプション・フラグを追加すると、大文字と小文字を区別しないようにリクエストできます:
$uri =~ '^/[Ff][Ii][Ll][Ee][Nn][Aa][Mm][Ee]$' $uri =~ '(?i)^/filename$'
If
式またはElseIf
式に正規表現が含まれている場合、コンテナ本文の引数内でその正規表現の後方参照を使用できます。正規表現の後方参照は$
nの形式で表され、nは、次の例のような正規表現の取得サブパターンに対応する1から9の整数になります:
<If $path =~ '^(.*)(\.html|\.htm)$'> NameTrans fn="rewrite" path="$1.shtml" </If>
表示されている例では、If
式内に2つのサブパターンが使用されているため、$1
および$2
を後方参照として使用できます。この例では、最初の取得サブパターンの値がNameTrans fn="rewrite"
のパラメータ内で使用されています。2番目の取得サブパターンの値は無視されます。
If
式またはElseIf
式には、次の例のように、その同じIf
式またはElseIf
式にある前の正規表現への後方参照を含めることができます。
<If "foo" =~ "(.*)" and $1 eq "foo"> # Any contained directives will be executed # since $1 will evaluate to "foo" ... </If>
表示されているIf
式は常にtrueに評価されるため、If
式の内容は実行されます。
ただし、If
式、Elseif
式およびそれらに含まれているディレクティブに、親コンテナ内の正規表現への後方参照を含めることはできません。たとえば、次のobj.conf
エントリは無効です:
<If $path =~ '(.*)\.css'> <If $browser = "*MSIE*"> # This example is invalid as $1 is not defined AuthTrans fn="rewrite" path="$1-msie.css" </If> </If>
ドル記号およびアンパサンド$&
を使用すると、最後に正規表現に一致した値を取得できます。次のobj.conf
エントリを使用すると、HTMLファイルに対するリクエストを別のサーバーにリダイレクトできます:
<If $path =~ '\.html$' or $path =~ '\.htm$' > NameTrans fn="redirect" url="http://docs.example.com$&" </If>
変数または式への参照を含む文字列は、補間文字列と呼ばれます。補間文字列を使用した場合、埋め込まれた式および変数が評価され、その結果が文字列に挿入されます。データを文字列に挿入する操作は、文字列補間と呼ばれます。
補間文字列は、式、ログ形式およびobj.conf
のパラメータ内で使用します。式では、二重引用符で囲まれた文字列リテラルのみが補間されます。詳細は、式リテラルを参照してください。
文字列に変数の値を含めるには、変数の名前の前にドル記号($
)を付けます。たとえば、server.xml
内にある次のformat
要素では、HTTPリクエストごとにクライアントのIPアドレス、リクエストされたURIおよび対応するファイル・システム・パスがロギングされます:
<access-log> <file>access</file> <format>$ip "$uri" $path</format> </access-log>
この例において、$ip
、$uri
および$path
は事前定義変数です。詳細は、変数を参照してください。
アクセス・ログおよびログ形式の詳細は、カスタム・アクセス・ログ・ファイル形式の使用を参照してください。
変数の名前があいまいになる場合は、名前に中カッコ{}
を追加します。たとえば、次の文字列には事前定義の$path
変数への参照が含まれています:
"${path}html"
中カッコがない場合、文字列にはpathhtml
という仮想的な変数への参照が含まれます。
文字列に式の結果を含めるには、式の前にドル記号および左カッコ$(
を付け、式の後に右カッコ)
を付けます。たとえば、次の2つの文字列は補間後に同一になります:
"$(2 + 2)" "4"
補間文字列をobj.conf
のパラメータとして使用した場合、対応する命令が実行されるたびに文字列が補間されます。たとえば、obj.conf
ファイル内で次の行を使用すると、リクエストされたURIおよびファイルredirect.conf
の内容に基づいてクライアントをリダイレクトできます:
<Object ppath="/redirect/*"> NameTrans fn="redirect" url="$(lookup('redirect.conf', $uri, '/'))" </Object>
この例では、NameTrans
ディレクティブが起動されるたびに式lookup('redirect.conf', $uri, '/')
が評価され、その結果がredirect
SAFにそのurl
パラメータで渡されます。
Oracle Traffic Directorでは、式でのワイルドカード・パターン一致がサポートされています。ワイルドカード文字を特別な意味を持たせずにそのまま使用するには、その文字の前に円記号(\
)を付けます。
次の表で、様々なワイルドカード・パターンおよびそれらの用途について説明します。
ワイルドカード | 用途 |
---|---|
|
0文字以上の文字に一致します。 |
|
任意の1文字に一致します。 |
|
|
|
文字列の終わりに一致します。これは |
|
|
|
|
|
|
|
この式の後に別の式を指定することで、2番目の式に一致するすべてのパターンが除外されます。 |
次の表に、ワイルドカード・パターンの例およびその結果を示します。
ワイルドカード | 結果 |
---|---|
|
文字列 |
|
|
|
|
|
ピリオドが含まれる任意の文字列に一致します。 |
|
|
|
1つのホスト |
|
ホスト |
|
サブドメイン |
|
|