Web ページをクライアントのブラウザに配信する直前に、テキスト、グラフィックス、またはアプリケーション コンテンツをページに追加するよう、Web サーバーに命令するには、サーバー側インクルード (SSI) ディレクティブを使います。SSI は、特殊な前処理ディレクティブを備えており、そのディレクティブを使ってファイルに関する情報にアクセスしたり、CGI 変数の値を表示したりできます。また、SSI のディレクティブを使うと、アプリケーションまたはシェル コマンドの結果を Web ページに挿入することもできます。
重要
#include ステートメントは、実行時ではなくコンパイル時に処理されます。したがって、このステートメントをクライアント側プロシージャのロジックに組み込むことはできません。ファイルをインクルードするには、#include ディレクティブを使います。たとえば、Web ページが要求されたとき、Copyright.inc というファイルを Web ページに挿入するには、Web ページで次のディレクティブを指定します。
<!-- #include file="Copyright.inc" -->
この例では、ファイル Copyright.inc は、インクルード ファイルと同じディレクトリにあることが必要です。#include ディレクティブのある HTML ファイルは、Web サイトで公開されている必要があります。インクルードされる側のファイルに特別なファイル名拡張子を付ける必要はありませんが、ほかの種類のファイルと区別するために、一般的なプログラミングの慣習に従って .inc という拡張子を付けることをお勧めします。
現在のディレクトリからの相対パスを使用して、インクルードファイルを指定するには、file 引数を使います。たとえば、呼び出しファイルが Documents というディレクトリにあり、インクルード ファイルが Documents\Common というサブディレクトリにある場合、次のディレクティブを使います。
<!-- #include file="Common\Copyright.inc" -->
Web サイトのドキュメントを扱う場合は、専用の仮想ディレクトリに共有ファイルを格納することができます。ファイルへの完全な仮想パスを使用して、インクルード ファイルを指定するには、virtual 引数を使います。たとえば、仮想ディレクトリ /Common のファイルをインクルードするには、次のディレクティブを使います。
<!-- #include virtual="/Common/Copyright.inc" -->
ファイルの内容をインクルードする以外に、SSI ディレクティブを使ってアプリケーションまたはシェル コマンドを実行し、その結果を Web ページにインクルードすることもできます。アプリケーションまたはシェル コマンドを実行するには、#exec ディレクティブを使います。実行できるアプリケーションは、CGI プログラム、ASP アプリケーション、または ISAPI アプリケーションです。次に例を示します。
<!-- #exec cgi=/scripts/guestbook.exe?FirstName+LastName>
アプリケーションへのパスには、完全な仮想パスまたは URL を指定します。アプリケーションにパラメータを渡すには、アプリケーションのファイル名の後に疑問符 (?) を付け、その後にプラス記号 (+) で結合したパラメータのリストを続けます。
重要 通常の Web ファイルでアプリケーションの実行を許可すると、セキュリティ上の危険を冒すことになります。Web ページで、ほかの SSI ディレクティブの使用を許可したまま、#exec ディレクティブのみ無効にすることもできます。
詳細については、「サーバー側インクルード リファレンス」を参照してください。