Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

.htmlファイルでSSIを利用する(Windows Server 2003/IIS 6.0編)

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2006/07/08
 
対象OS
Windows Server 2003
WebページでSSIを利用すると、別のHTMLファイルの内容をインクルードすることができる。これにより、サイト全体でレイアウトなどを統一させたり、ページを編集することなく、一部の内容を変化させることができる。
Windows Server 2003のIISでは、デフォルトでは.shtm、.shtml、.stmファイルでのみSSIが有効になっている。
.htmや.htmlファイルでもSSIを利用したければ、ファイル拡張子とIISの拡張DLLのマッピングを追加・変更すればよい。
 
解説

 IISのWebサーバでは、SSI(Server Side Include)機能を利用することができる。SSIとは、Webページ・ファイル中にほかのファイルの内容を読み込んで組み込む(インクルードする)ための機能である(IISでは「サーバ側インクルード」と呼んでいる)。Webページ内の固定的なレイアウトの部分を簡単に統一したり、インクルードさせる内容を変更して、ページの内容を変化させたりできる。

 Windows Server 2003のIIS 6.0でSSIを利用する場合、ssinc.dllというIISの機能拡張DLLを利用する必要があるが、デフォルトでは、「〜.shtm」「〜.shtml」「〜.stm」という拡張子のファイルでのみ利用可能になっている(.aspファイルでも利用可能)。一般的に広く使われている「〜.htm」や「〜.html」ファイルでは利用できない。

 本TIPSでは、Windows Server 2003のIIS 5.0において、「〜.htm」や「〜.html」ファイルでSSIを有効にする方法について解説する。Windows 2000 ServerのIIS 5.0に対する設定方法は、別TIPSの「.htmlファイルでSSIを利用する(Windows 2000 Server/IIS 5.0編)」を参照していただきたい。

操作方法

手順1――Webサイト・プロパティの表示

 インクルードを許可するファイルの拡張子を変更するには、IISの管理ツールを起動して対象となるWebサイト(デフォルトでは「既定の Web サイト」)のプロパティ画面を表示させ、[ホーム ディレクトリ]タブを選択する。

SSIのファイル拡張子のマッピングの変更
SSIが利用できる拡張子のマッピングを変更するには、まずIISの管理ツールでWebサイトのプロパティを開く。
  サイトのプロパティ画面でこのタブを選択する。
  これをクリックする。

手順2――拡張子マッピングの表示

 [構成]ボタンをクリックすると、次のようなダイアログが表示されるので、ファイル拡張子のマッピングを新たに追加する。

SSIのファイル拡張子のマッピング
Windows Server 2003のIISのデフォルト設定では、.shtm、.shtml、.stmの3種類の拡張子のファイルでのみ、SSIが利用できる。例えばdefault.htmlファイルでは#includeは無視される。
  デフォルトでマッピングされている拡張子。これらの拡張子に対してのみssinc.dllが利用できる。
  元のマッピングを残したまま、新しく.htmlや.htmファイルでもSSIを有効にするには、この[追加]をクリックする。Windows 2000 Serverの場合と違い、既存のマッピングを変更することはできない。

手順3――拡張子マッピングの変更/追加

 デフォルトでは.shtmや.shtmlなどのファイルでのみSSIが利用できるが、そのマッピングを残したまま、新しく.htmや.htmlファイルでもSSIを利用できるようにするために、[追加]ボタンをクリックする。すると次のような画面が表示される。

SSIのファイル拡張子のマッピング
マッピングするファイルの拡張子と、機能拡張DLLのパスなどの情報を追加する。.htmlだけでなく、必要ならば.htmに対する拡張子のマッピングも追加すること。
  SSIを処理する機能拡張DLL。デフォルトでは%windir%\system32\inetsrv\ssinc.dllにインストールされているので、そのパスを指定する。
  ファイル拡張子の指定。
  デフォルトはこちらが選択されている。
  デフォルトの.shtmlファイルの構成などと同じように、「GET,POST」を指定しておく。
  デフォルトではこれがオンになっている。オンになっていると、インクルードするファイルが見つからない場合、HTTPのGETそのものが失敗し、Webブラウザには「ページがみつからない」などのエラー・メッセージが表示される。オフだと、インクルードの処理部分のみがエラーとなり、Webページ中の一部(インクルードしている部分)にのみ、エラー・メッセージが表示される。

 なお、この設定はWebサイトごとに有効なので、必要ならばほかのサイト設定でもマッピングを追加しておく。

手順4――SSI機能の有効化

 Windows Server 2003のIIS 6では、以前のIIS 5とは違い、(セキュリティのために)デフォルトではSSI機能(やASP機能)は無効になっている。SSIを利用するためには、この機能を有効にしておかなければならない。

 SSIを有効化するには、IISの管理ツールにある[Webサービス拡張]画面で、SSI(サーバ側インクルード)を[許可]しておく。これが無効なままSSI機能を利用しても、エラーとなる。

SSIの有効化
Windows Server 2003のIIS 6では、セキュリティのため、デフォルトではSSI(およびASなど)機能が無効になっている。SSIを利用するためには、これを[許可]しておく必要がある。
  Webサーバの機能拡張の制御。
  これを選択する。デフォルトでは[禁止]になっている。
  これをクリックして許可する。

 以上で設定は終了である。すでにSSIが有効になっているはずなので(念のためにIISの再起動を行ってもよい)、Webブラウザでページの内容を再ロードして、確認しておこう。End of Article

関連記事(Windows Server Insider)
Windows TIPS:IIS 6.0のWeb拡張機能を有効にする
Windows TIPS:.htmlファイルでSSIを利用する(Windows 2000 Server/IIS 5編)
Windows TIPS:.htmlファイルでSSIを利用する(Windows Server 2003/IIS 6編)
特集:Windows Server 2003完全ガイド―アーキテクチャを一新した新世代アプリケーション・サーバ
 
この記事と関連性の高い別の記事

このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。

generated byJigsaw
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間