仮想ディレクトリの作成方法
仮想ディレクトリって何?
「仮想」ディレクトリってなんのことだかご存知ですか?
これを理解するために、はじめに 「仮想」 ではない "リアルな" ディレクトリの場合をおさらいしましょう。
http://www.example.com/ でアクセス可能な Web サイトのドキュメントルートを、C:\inetpub\wwwroot として設定しているとします。
この場合、C:\inetpub\wwwroot\file1.html は http://www.example.com/file1.html という URL でアクセス可能です。
同様にサブディレクトリ dir1 の下にある file2.html である、 C:\inetpub\wwwroot\dir1\file2.html は http://www.example.com/dir1/file2.html としてアクセス可能になります。
つまり、"リアルな" ディレクトリの場合は http://www.example.com/ 以下は物理パス C:\inetpub\wwwroot\ 以下のパスと同様になります。
しかし、コンテンツが格納されている物理パスをドキュメントルートディレクトリ以外に設定したい場合があります。
例えば、C:\tmp というディレクトリを、http://www.example.com/tmp/ というディレクトリとしてアクセスさせたい場合です。
この場合、tmp というディレクトリは、クライアントからはあたかもルートディレクトリの直下に存在するように見えます。 実際は違うのに、あたかも C:\inetpub\wwwroot 以下にあるように見えます。このとき、tmp を仮想ディレクトリといいます。
仮想ディレクトリの作成
それでは、仮想ディレクトリを作成してみましょう。
Default Web Site のドキュメントルートを C:\inetpub\wwwroot の http://localhost/tmp/ として C:tmp にアクセスさせましょう。
- ディレクトリ C:\tmp を作成する
C:> md tmp C:>
※ここではテストのため、このディレクトリにテスト用の html ファイル、file1.html を置いておきます。
- IIS マネージャから仮想ディレクトリの作成を選択する
- エイリアスと物理パスを指定する
※エイリアス (別名) は、物理ディレクトリ名と同一にする必要はありません。
尚、IIS マネージャでみると、下図のように仮想ディレクトリには矢印アイコンが表示されます。
- 動作確認する
ここまでの設定で、サーバー上の IE から http://localhost/tmp/file1.html でテスト用ファイルにアクセス可能なはずです。
補足: パススルー認証について
IIS は匿名アクセスではなく、認証ユーザーの場合はその権限で物理パスへアクセスしようとします。 認証されていないユーザーの場合は、アプリケーションプールの ID に指定したユーザーでアクセスを試みます。
これをパススルー認証と呼びます。
UNC シェアへ接続する場合等は、パススルー認証では接続が失敗する場合がありますから、 ユーザー名をしていておいたほうが無難でしょう。