SSIを使ってHTML中に別ファイルを合成するには?
SSIを使うのはとても簡単です。 HTML中に、たった1行記述するだけで、どんなファイルでも合成できてしまいます。
その方法をご紹介する前に、まずは、SSIを使うための環境について確認しておきましょう。
SSIを使うには
SSIを利用するためには、次の2つの条件があります。
- サーバがSSIに対応している(=SSIの利用を許可している)
- HTMLファイルの拡張子を「.shtml」にする
●1.サーバがSSIに対応している
SSI(Server Side Include)は、ウェブサーバ側の機能です。 ですから、アクセス者の環境には一切依存しません。どんな環境を使っているアクセス者に対しても、同じようにSSIは機能します。 その代わり、サーバ側がSSIの利用を許可していなければ使えません。
CGIの使用が許可されているなら、たいていSSIの使用も許可されていますが、事前に確認しておきましょう。
●2.HTMLファイルの拡張子を「.shtml」にする
SSIを利用するためには、HTMLファイルの拡張子を「.shtml」にします。ファイル拡張子が「.html」や「.htm」では、SSIは有効になりません(※1)。
これは、「合成される側のファイル」の話ではなく、「合成する側(呼び出す側)のファイル」の話です。
前ページの例では、表示用や印刷用ページを作る show.shtml や print.shtml の拡張子が「.shtml」でした。 合成される側(コンテンツ本体)ファイルは contents.html のように普通の「.html」で構いません(※2)。
※1:ファイル拡張子が「.html」でもSSIを有効にする方法もありますが、どんな環境でも使えるわけではないので、ここでは割愛します。
※2:合成される側のファイル拡張子は何でも構いません。「.html」でも構いませんし「.txt」でも構いません。
SSIを使ってHTML中に別ファイルを合成する記述
それでは、実際にSSIを使ってファイルを合成するようにHTMLを記述してみましょう。