HeaderMatchドキュメントの構文
インターネットサービスは、HeaderMatchドキュメントの内容を1行ずつ読み込みます。このドキュメントの各行は、コメントかHeaderMatchコマンドが記述されています。空白行か、先頭にシャープ記号(#)が付いた行はコメントです。他の行はすべてコマンドです。
注意
空白かタブを含む文字列は、二重引用符("")で囲んでください。
HeaderMatchドキュメントは、サイト指定子、動作、オプション、(必要であれば)条件の2つないし3つの要素で構成され、次の構文を使用します。
サイト指定子: [条件] 動作
このうち、
・サイト指定子は、このコマンドを提供するサイトを指定します。
・条件は、この動作を実行する特定の条件を設定します。
・動作は、実行する動作の内容です。
サイト指定子
[複数サイトと複数言語の設定]フォームを使用して複数サイトを設定している場合、サイトのエイリアスをサイト指定子として利用して、コマンドを適用するサイトを指定することができます。詳細は、ブラウザによる振り分けの例を参照してください。そのサイトに複数の言語を設定している場合は、言語を指定することができます。サイトのエイリアス名にピリオドを追加し、その後ろに、コマンドを適用したい言語フォルダの名前を追加してください。[複数サイトと複数言語の設定]フォームを使用していないか、すべてのサイトにコマンドを適用した
い場合は、サイト指定子としてアスタリスク(*)を使用することができます。
条件
条件は、ある状況でコマンドを実行したい場合にだけ使用してください。例えば、ある種類のブラウザだけにテンプレートのセットを適用させたい(ブラウザによる振り分けの例を参照)、あるいは、特定のサイトを特定のブラウザで利用する場合には機能を制限したいような場合です。
条件の引数は、次の3つの形式のいずれかを取ります。
・ブラウザのHTTPヘッダの1つをテスト。
・サイトの基本設定のフィールドをテスト。
・インターネットサービスのスクリプトの変数をテスト。
HTTPヘッダをテストするには、次の構文を使用してください。
IF httpヘッダ名 [ == | != ] <正規表現>
このうち、
・httpヘッダ名は、「user-agent」など検証したいHTTPヘッダの名前です。
・正規表現には、対象となるヘッダの値と一致しているかどうか検証する語句を入力します。
サイトの基本設定のフィールド値をテストするには、次の構文を使用してください。
IF SITEPREF フィールドID[.Index][== | != | > | < | >= | <=] 値
このうち、
・フィールドID[ Index]は、該当するサイトの基本設定フォームからデータを取り出すフィールドです。
・[== | != | > | < | >= | <=] は論理演算子です。
・値は、対象となる基本設定のフィールドの値をテストするための値です。
インターネットサービスのスクリプトの変数をテストするには、次の構文を使用してください。
IF VAR 変数名 [== | != | > | < | >= | <=] 値
このうち、
・変数名は、インターネットサービスのスクリプト名です。
・[== | != | > | < | >= | <=] は論理演算子です。
・値は、対象となるインターネットサービスのスクリプトの変数をテストするための値です。
動作
動作は、このコマンドで実際に行いたい内容です。動作は次の2つに分類されます。1つはSET動作で、HTTPの内部動作の一部を制御するために使用します。もう1つはVAR動作で、インターネットサービスのスクリプトの変数を設定します。
VAR動作
VAR動作は、次の形式を取ります。
・VAR 変数名 = 値
このコマンドによって、指定された名前を持つインターネットサービスのスクリプトの変数に対して、指定した値が設定(または再設定)されます。HeaderMatchドキュメントかテンプレートで、この方法で設定された変数を後で確認することができます。
SET動作
SETコマンドで注意すべき重要なことは、各パラメータの設定は、HeaderMatchドキュメントの実行中に一度しか行うことができないことです。SETコマンドを同じパラメータで再度実行しても、無視されてしまいます。
注意
SETコマンドの実行ができないように条件を設定している場合、コマンドを実行しても、指定したSETコマンドのパラメータに対して許可された1回目の設定とはみなされません。SETパラメータは、大文字と小文字を区別します。
SETパラメータと、SETパラメータで指定できる値は次のとおりです。
・SET .templates = フォルダ名
このパラメータは、インターネットサービスがテンプレートを読み出すために使用するフォルダ名を変更します。この構文を使用すると、ブラウザごとに異なるテンプレートセットがある場合など特定の条件によっては、複数のテンプレートセットを1つのサイトで使用するように設定することができます。ユーザが使用するブラウザによって異なるテンプレートセットを使用することを、ブラウザによる振り分けといいます。
・SET calview = フォームID
このパラメータは、カレンダーを閲覧する際に使用されるデフォルトのフォームIDを変更します。通常、デフォルトではすべてのカレンダーが週表示(フォームID 159)で開かれますが、この動作とは異なる動作をさせたい場合もあると思われます。ここで使用できる他のフォームIDは、167(日付タイマ表示)、164(今日の一覧)、160(日表示)、158(月表示)、-1(詳細表示)です。
・SET calendaroptions = ビットマスク
このパラメータは、インターネットサービスのカレンダーで特定の動作を制御します。Calendaroptionsのデフォルト値は0x0006(例えば、0x0002 + 0x0004)です。
・0x0001
旧バージョンのカレンダーのフィールドデータ形式を有効にします。この設定を行わない場合、インターネットサービスの5.5以前のバージョンで提供のテンプレートセットに含まれるカレンダーテンプレート、もしくはそのテンプレートセットを元にしたカレンダーテンプレートは正しく適用されません。
・0x0002
週の計算で週の開始日とする曜日を設定します。この設定を行わない場合、カレンダーは日曜日を週の開始日としてすべての計算を行います。
・0x0004
終日の予定を判断します。この設定を行わない場合、モデム日付タイマ表示が正しく機能しません。この設定を行った場合、インターネットサービスの7.1以前のバージョンで提供のテンプレートセットに含まれる日付タイマ用テンプレート、もしくはそのテンプレートセットを元にした日付タイマ用テンプレートは正しく適用されません。
・SET allowbasicauth = 1 | 0
このパラメータによって、ブラウザの内部認証機能の使用を有効または無効にすることができます。デフォルトでは、ブラウザの認証機能は無効にされています。
・SET contenttype = MIMEタイプ
このパラメータで設定したMIMEタイプが、インターネットサービスがテンプレートの読み出しと送信を行う際に使用するMIMEタイプとして優先的に適用されます。例えば、WAPブラウザやWMLブラウザの旧バージョンの中には、WMLを正しく要求しないものがあります。WMLのテンプレートがご利用のシステムにあれば、このパラメータに適切な値を設定して、インターネットサービスがWMLテンプレートを使用するように強制することができます。
・SET forcehttpver10 = 1 | 0
・SET keepalive = 1 | 0
・SET allowhttptrace = 1 | 0
forcehttpver10とkeepaliveのSET変数は、HTTPサーバが処理する接続を制御します。この2つのパラメータ設定は、FirstClassのカスタマーサポートの指示がある場合にだけ行ってください。
allowhttptraceは、HTTPのTRACEコマンドを有効または無効にします。デフォルトでは、TRACEは無効になっています。
注意
TRACEコマンドはHTTP仕様の一部ですが、標準的な動作では使用されず、プライバシーが侵害される危険性があると考えるセキュリティ機関もあります。
・SET icons = アイコンのファイル名
・SET pictures = 画像のファイル名
この2つのパラメータで設定したファイル名が、インターネットサービスにデフォルトで設定されているアイコン用リソースファイルと画像用リソースファイルより優先して適用されます。デフォルトでは、インターネットサービスは、Icons.rezファイルからアイコンを、Pictures.rezファイルから画像を探します。しかし、1つのサイトで複数のテンプレートセットを使用している場合は、そのテンプレートセットの1つで、他のアイコンリソースや画像リソースが必要になることがあります。このような場合に、このSETコマンドを利用して、適切な状況で代わりのリソースを有効にすることができます。
| ||