[System Environment] | |||||||||||
.htmlファイルでSSIを利用する(Windows 2000 Server/IIS 5.0編)
|
|||||||||||
|
解説 |
IISのWebサーバでは、SSI(Server Side Include)機能を利用することができる。SSIとは、Webページ・ファイル中にほかのファイルの内容を読み込んで組み込む(インクルードする)ための機能である。Webページ内の固定的なレイアウトの部分を簡単に統一したり(例:ページの上部やサイド、下部の固定的なメニューや文字列部分など)、インクルードさせる内容を変更して、ページの内容を変化させたりできる。
SSIを利用するためには、HTMLコード中に、次のような <!--#include 〜 --> タグを記述すればよい。インクルードする内容を別ファイルで独立して管理できるので、HTMLコードを変更することなく、Webページの内容を変更できる。
|
|
<!--#include 〜 --> タグの使用例 | |
HTMLページ・ファイル中で、別のファイル(この例では\include\topmenu.inc)をインクルードすることにより、個々のページの内容を修正することなく、メニュー構成や全体的なレイアウトを変更・統一するのが容易になる。インクルードするファイルの拡張子は、ここでは.incとしているが、任意である。 |
IISでSSIを利用する場合、%windir%system32\inetsrv\ssinc.dllというIISの機能拡張DLLを利用する必要がある。だがデフォルトでは、この機能は「〜.shtm」「〜.shtml」「〜.stm」という拡張子のファイルでのみ利用可能になっている(.aspファイルでも利用可能)。IISでよく使われる「〜.htm」や「〜.html」という拡張子のファイルでは、<!--#include 〜 --> タグを記述しても、無視される。
本TIPSでは、Windows 2000 ServerのIIS 5.0において、〜.htmや〜.htmlファイルでSSIを有効にする方法について解説する。Windows Server 2003のIIS 6.0に対する設定方法は、別TIPSの「.htmlファイルでSSIを利用する(Windows Server 2003/IIS 6.0編)」を参照していただきたい。
操作方法 |
手順1――Webサイト・プロパティの表示
インクルードを許可するファイルの拡張子を変更するには、IISの管理ツールを起動して対象となるWebサイトのプロパティ画面を表示させ、[ホーム ディレクトリ]タブを選択する。以下の画面は、デフォルト・サイトである「既定のWebサイト」のプロパティの例である。
SSIのファイル拡張子のマッピングの変更 | ||||||
SSIが利用できる拡張子のマッピングを変更するには、まずIISの管理ツールでWebサイトのプロパティを開く。 | ||||||
|
手順2――拡張子マッピングの表示
[構成]ボタンをクリックすると、次のようなダイアログが表示されるので、ファイルのマッピングを変更するか、新たに追加する。
SSIのファイル拡張子のマッピング | |||||||||
Windows 2000 ServerのIISのデフォルト設定では、.shtm、.shtml、.stmの3種類の拡張子のファイルのみssinc.dllにマッピングされており、SSIが利用できる。 | |||||||||
|
手順3――拡張子マッピングの変更/追加
デフォルトでは.shtmや.shtmlなどのファイルでのみSSIが利用できるが、そのマッピングを残したまま、新しく.htmや.htmlファイルでもSSIを利用できるようにするためには、[追加]ボタンをクリックする。
既存の.shtmや.shtmlのマッピングを削除し、代わりに.htmや.htmlでSSIを有効にするには、既存の設定内容を変更するのが簡単である。設定項目を1つ選び、[編集]ボタンをクリックすると次のような画面が表示される。
SSIのファイル拡張子のマッピング | |||
実行ファイル(IISの機能拡張DLLファイル)と、拡張子の対応を設定する。 | |||
|
ここで、[拡張子]の内容を、デフォルトの「.shtm」から「.htm」に変更して[OK]をクリックする。同様に「.shtml」に対する設定において、拡張子の指定を「.html」に変更する。「.stm」に対する設定は、不要ならば削除しておけばよい(不要な設定を残しておくと脆弱性のもととなるので、削除しておくのが望ましい)。
これらのマッピングを残したままにする場合は、新たに「.htm」や「.html」などの拡張子に対する定義を新たに追加すればよい。拡張子以外の設定内容については、上の画面と同じになるようにしておく。
なお、この設定はWebサイトごとに有効なので、必要ならばほかのサイト設定も変更しておく。
以上で設定は終了である。すでにSSIが有効になっているはずなので(念のためにIISの再起動を行ってもよい)、Webブラウザでページの内容を再ロードして確認しておこう。
インクルードするファイルが見つからない場合は、次のように、#includeタグの部分にエラー・メッセージが表示されるので、ファイルが存在しているか、パスが正しいかなどを確認する。
SSIファイルが見つからない場合のエラー・メッセージ | |||
インクルードするファイルが見つからない場合は、このようにエラー・メッセージが表示される。どのファイルが見つからないかというメッセージは出力されないので、正しく表示されている部分などから、どの#include文でエラーが出ているかを推測する必要がある。 | |||
|
この記事と関連性の高い別の記事
- .htmlファイルでSSIを利用する(Windows Server 2003/IIS 6.0編)(TIPS)
- IIS 6.0のWeb拡張機能を有効にする(TIPS)
- IIS 6.0をWindows XPから管理する(TIPS)
- クライアント版WindowsでIISをインストールする(TIPS)
- IIS 6.0をWindows Vistaから管理する(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|