Windows TIPS
[System Environment]
.htmlファイルでSSIを利用する(Windows Server 2003/IIS 6.0編)
■
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ブラウザでページの内容を再ロードして、確認しておこう。
この記事と関連性の高い別のWindows TIPS
generated by
TechTargetジャパン
Windows Server Insider フォーラム 新着記事
キャリアアップ
**先週の人気講座ランキング**
〜 Android編 〜