[HeaderMatch]ドキュメントの構文
インターネットサービスは、[HeaderMatch]ドキュメントの内容を1行ずつ読み込みます。このドキュメントの各行には、コメントかHeaderMatchコマンドが記述されています。空白行か先頭にシャープ記号(#)が付いた行はコメントです。他の行はすべてコマンドです。
空白かタブを含む文字列は二重引用符("")で囲んでください。
HeaderMatchのコマンドは、サイト指定子、動作、それに必要であれば条件の2つないし3つの要素で構成され、構文は以下のようになります。
サイト指定子: [条件] 動作
このうち、
・サイト指定子には、このコマンドを適用するサイトを指定します。
・条件には、動作を開始する特定の条件を設定します。
・動作は、実行する動作の内容です。
サイト指定子
[複数サイトと複数言語の設定]フォームを使用して複数のサイトを設定している場合、サイトのエイリアスをサイト指定子として利用して、コマンドを適用するサイトを指定することができます。詳細は、ブラウザによる振り分けの例を参照してください。
そのサイトに複数の言語を設定している場合は、サイトのエイリアス名にピリオドを追加し、その後ろにコマンドを適用したい言語フォルダの名前を追加して、言語を指定することができます。
[複数サイトと複数言語の設定]フォームを使用していないか、コマンドをすべてのサイトに適用したい場合は、サイト指定子としてアスタリスク(*)を使用してください。
条件
条件は、特定の状況でコマンドを実行したい場合にだけ使用してください。例えば、あるテンプレートのセットを特定の種類のブラウザだけに適用させる(ブラウザによる振り分けの例を参照)場合や、特定のサイトに特定のブラウザでアクセスした時には機能が制限されるようにしたい場合などです。
条件の引数は、以下の3つの形式で記述することができます。
・ブラウザのHTTPヘッダの1つをチェックする形式。
・サイトの基本設定のフィールドをチェックする形式。
・インターネットサービスのスクリプト変数をチェックする形式。
HTTPヘッダのチェック
HTTPヘッダをチェックするには、以下の構文を使用してください。
IF http ヘッダ名 [ == | != ] <正規表現>
このうち、
・httpヘッダ名は、「user-agent」などチェックしたいHTTPヘッダの名前です。
・正規表現には、対象となるヘッダの値と一致しているかどうかを照合するパターンを定義します。
[サイトの基本設定]フォームのフィールドのチェック
[HeaderMatch]ドキュメントを設定して、[サイトの基本設定]フォームやユーザの[基本設定]フォーム上にあるフィールドの内容をチェックすることができます。
[サイトの基本設定]フォームのフィールド値をチェックするには、以下の構文を使用してください。
IF SITEPREF フィールドID[.Index][== | != | > | < | >= | <=] 値
このうち、
・フィールドID[ Index]で、該当する[サイトの基本設定]フォームからデータを取り出すフィールドを指定します。
・[== | != | > | < | >= | <=]は論理演算子です。
・値は、対象となるフィールドでチェックする値です。
ユーザの[基本設定]フォームのフィールド値をチェックするには、以下の構文を使用してください。
IF USERPREF フィールドID[.Index][== | != | > | < | >= | <=] 値
このうち、
・フィールドID[ Index]で、該当するユーザの[基本設定]フォームからデータを取り出すフィールドを指定します。
・[== | != | > | < | >= | <=]は論理演算子です。
・値は、対象となるフィールドでチェックする値です。
ユーザの[基本設定]フォームが設定されていない場合に、[サイトの基本設定]フォームの代わりにユーザの[基本設定]フォームのフィールド値をチェックするには、以下の構文を使用してください。
IF PREF フィールドID[.Index][== | != | > | < | >= | <=] 値
このうち、
・フィールドID[ Index]で、該当するユーザの[基本設定]フォームからデータを取り出すフィールドを指定します。
・[== | != | > | < | >= | <=]は論理演算子です。
・値は、対象となるフィールドでチェックする値です。
・インターネットサービスのスクリプト変数のチェック
インターネットサービスのスクリプト変数の値をチェックするには、以下の構文を使用してください。
IF VAR 変数名 [== | != | > | < | >= | <=] 値
このうち、
・変数名は、インターネットサービスのスクリプト変数の名前です。
・[== | != | > | < | >= | <=]は論理演算子です。
・値は、対象となるインターネットサービスのスクリプト変数でチェックする値です。
動作
動作は、このコマンドで実際に行われるようにする内容です。動作は次の2つに分類されます。1つはVAR動作で、インターネットサービスのスクリプト変数を設定します。もう1つはSET動作で、HTTPの内部動作の一部を制御するために使用します。
VAR動作
VAR動作は以下の形式を取ります。
・VAR 変数名= 値
このコマンドによって、指定した名前を持つインターネットサービスのスクリプト変数に対して、指定した値が設定(または再設定)されます。この方法で設定された変数は、[HeaderMatch]ドキュメントかテンプレートで確認できます。
SET動作
SETコマンドで注意すべき重要なことは、各パラメータが[HeaderMatch]ドキュメントの実行中に一度しか設定できないことです。SETコマンドを同じパラメータで再度実行しても、無視されてしまいます。
SETコマンドが実行できない条件が設定されている場合は、コマンドを実行しても指定したSETコマンドのパラメータに対して許可された唯一の設定とはみなされません。また、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 legacybodyfontsize = 1 | 0
この設定を有効にすると、使用されているブラウザに応じてフォントサイズの変更が無効になります。これにより、フォントサイズがクライアントで表示する場合より小さくなります。
この設定は無効(0)にすることをお勧めします。
・SET allowbasicauth = 1 | 0
この設定を有効にすると、ブラウザの内部認証機能の使用が有効になります。デフォルトでは、ブラウザ認証は無効(0)にされています。
・SET contenttype = MIMEタイプ
このパラメータで設定したMIMEタイプが、テンプレートの読み込みと送信の際にインターネットサービスが使用するMIMEタイプとして優先的に適用されます。例えば、古いバージョンのWAPブラウザやWMLブラウザには、WMLで記述されたコンテンツに対して正しい要求を行わないものがあります。(WML用テンプレートがご利用のシステムにあれば)このcontenttypeに適切なMIMEタイプを設定することで、インターネットサービスがWMLテンプレートを使用するように設定できます。
・SET forcehttpver10 = 1 | 0
・SET keepalive = 1 | 0
・SET allowhttptrace = 1 | 0
forcehttpver10とkeepaliveのSET変数によって、HTTPサーバが処理する接続が制御されます。この2つのパラメータ設定は、FirstClassのカスタマーサポートから指示があった場合にだけ行ってください。
allowhttptraceの設定によって、HTTPの「TRACE」コマンドが有効または無効になります。デフォルトでは、TRACEは無効(0)になっています。
TRACEコマンドはHTTPの仕様の一部ですが、通常は使用されず、プライバシーが侵害される危険性を指摘するセキュリティ機関もあります。
・SET icons = アイコンファイル名
・SET pictures = 画像ファイル名
この2つのパラメータに設定したファイルが、インターネットサービスがデフォルトで使用するアイコンおよび画像のリソースファイルより優先して適用されます。デフォルトでは、インターネットサービスは、Icons.rezファイルからアイコンを、Pictures.rezファイルから画像を探します。しかし、1つのサイトで複数のテンプレートセットを使用している場合は、あるテンプレートセットで他のアイコンリソースや画像リソースが必要になることがあります。そのような場合に、このSET動作を設定することで、適切な条件下で異なるリソースが利用されるようにすることができます。
・USETICKETAUTH switch = 1 | 0
この設定によって、フォームを利用してログインする際に外部チケット認証の使用が有効または無効になります。デフォルトでは、この設定は無効(0)になっています。ご利用のサイトで外部データベース認証を利用する場合にだけ有効にしてください。
| ||