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ファイルを取り込むことができますが、テキストファイルも同様に取り込むことができます。しかし、画像ファイルは単独では取り込むことができませんので注意してください。