IISでは、フォルダ中にdefault.htmなどのデフォルトHTMLファイルが存在すると、その内容が表示される。だがデフォルトHTMLファイルが存在しないとエラーとなる。場合によっては、エクスプローラのように、フォルダ内容の一覧を表示させたいことがある。IISのディレクトリの参照機能を有効にすると、デフォルトHTMLファイルの存在とは関係なく、常にフォルダの内容一覧が表示される。
対象OS:Windows 2000 Server/Windows Server 2003
IISのWebサーバでは、フォルダ内にデフォルトのHTMLファイル(IISでは「既定のコンテンツ ページ」という)が置かれている場合、その内容が自動的に表示される。例えば、Webブラウザで「http://localhost/doc/」というフォルダを表示させた場合、このフォルダ中に「default.htm」「index.htm」などというファイルが存在すると、その内容が自動的に表示される。ユーザーは「http://localhost/doc/default.htm」というふうに、ファイル名まで指定する必要はない。
だが、場合によっては、このようなデフォルトのファイルを表示させるのではなく、単にそのフォルダ中に含まれるファイル/フォルダ名の一覧が表示される方が便利な場合もある。このようにWebサーバが設定されていると、ちょうどエクスプローラで操作しているのと同じように、ユーザー自身が自由にファイルやフォルダを探したり、内容にアクセスしたりできる。
このような使い方は、ファイルサーバで公開しているのと同じフォルダを、Webサーバ経由でも公開するような場合に便利である。例えば、以下は各ユーザーのホームフォルダをWebサーバ経由でも公開している場合の例である。エクスプローラが利用できないような環境(例:リモートからの接続など)でも、Webサーバ経由でファイルにアクセスできる。
IISでは、このように、フォルダの内容をそのままWebクライアントに公開することを「ディレクトリの参照」と呼んでいる。デフォルトではこの機能は無効になっており、フォルダ中に特定のファイル(default.htm、default.asp、index.htm、iisstart.htmのいずれか)が存在しない場合はエラーとなる。だがディレクトリの参照を有効にすると、エラーではなく、このようなフォルダの一覧が表示される。本Tech TIPSでは、ディレクトリの参照を有効にする方法について解説する。
IISのWebサイトでディレクトリの参照を有効にするには、IISの管理ツールでサイトや仮想ディレクトリ、フォルダのプロパティ画面を開き、[ディレクトリ]タブを選択する。ただしこのタブ名は、Webサイトの場合は[ホーム ディレクトリ]、仮想ディレクトリの場合は[仮想ディレクトリ]となっている。
この画面にある[ディレクトリの参照]というチェックボックスをオンにすると、ファイル/フォルダ名の参照が有効になる。ただしこれを有効にすると、デフォルトのHTMLファイル(default.htmやindex.htmなど)が存在していても無視され、ファイル名の一覧が表示されるだけである。必要ならば、ユーザー自身がdefault.htmファイルをクリックして、内容を表示させるとよい。
このディレクトリの参照機能は、IISのWebサイトや仮想ディレクトリ、実フォルダなどでそれぞれ個別に設定できるので、適宜設定する。
上記のような方法でフォルダを公開する場合、認証機能を有効にしていないIISでは(匿名アクセスが有効になっている場合は)、すべてのユーザーからアクセスできることになるので注意が必要だ。必要ならば、ファイルサーバ側で適切なアクセス権を設定するか(IISからのアクセス時には、「IUSR_XXXXX」といった、特別なユーザー名からのアクセスになる)、IPアドレスやドメイン名によるアクセス制限、もしくはユーザー認証によるアクセス制限などを設定しておく。またセキュリティのため、イントラネット用途でのみ利用するのがよいだろう。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.