SSI
の基本はなんといっても include
コマンドでしょう。 HTML
文書に、他の HTML
文書を取り込むことができます。その様子はまるで、Windows
サーバで利用する ASP
のようなことが、コマンド1つで可能になるのです。HTML
ファイルに、別のファイルを挿入したいのだが、毎回カット&ペーストでは面倒だ」 という人がいますが、include
コマンドは、そのような人にはうってつけです。include
コマンドを使って、ページに差し込むことができます。include
コマンドの具体的な書式です。<!--#include コマンド引数="引数値" -->
SSI
の include
コマンドには、2通りの引数があります。以下は、その引数と値を示したものです。引数名 | 引数値 |
---|---|
file | カレントディレクトリは、カレントディレクトリのサブディレクトリにあるファイルを指定する任意のパス名とファイル名を指定する。 |
virtual | ルートディレクトリから始まる任意のパス名とファイル名を指定する。 |
virtual
と file
の違いは、サーバが、そのインクルードファイルの探索を開始する位置を示します。file
のとき、SSI
を記述したディレクトリと同じディレクトリ (カレントディレクトリ) か、その下の階層に呼び出されるファイルがなければいけません。file
引数では扱えません。その必要があるときには virtual
を使用します。SSI
を呼び出すディレクトリから見た相対パスか、あるいはルートディレクトリを基準にした絶対パスで指定します。virtual
を使うと、サーバはルートディレクトリからファイルの探索を開始します。ルートディレクトリとは、サイトの最上位ディレクトリです。conf
ファイルを見るか、または適切な CGI
環境変数 を表示させてみればその位置が分かります。virtual
の引数値は、必ず「 /
」で始まらなければなりません。何故なら、この引数が示すパスは、上位階層にあるファイルを指定するためなのです。同じ階層、あるいは下位階層のファイルを指定する引数は、file
を選ばなくてはなりません。SSI
を記述したファイルと同じ階層(カレントディレクトリ)、または、そのディレクトリの下位階層(サブディレクトリ)以下にあるファイルを取り込むために用います。file
を使うときは、カレントディレクトリの上位階層を経由するパス名は指定できません。つまり、「 ../
」で始まるパス名は許されていません。include
コマンドは、他の HTML
ファイルを取り込むことができますが、テキストファイルも同様に取り込むことができます。しかし、画像ファイルは単独では取り込むことができませんので注意してください。