仮想ディレクトリの作成方法

仮想ディレクトリって何?

「仮想」ディレクトリってなんのことだかご存知ですか?

これを理解するために、はじめに 「仮想」 ではない "リアルな" ディレクトリの場合をおさらいしましょう。

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 にアクセスさせましょう。

  1. ディレクトリ C:\tmp を作成する
    C:> md tmp
    
    C:>
    

    ※ここではテストのため、このディレクトリにテスト用の html ファイル、file1.html を置いておきます。

  2. IIS マネージャから仮想ディレクトリの作成を選択する

  3. エイリアスと物理パスを指定する

    ※エイリアス (別名) は、物理ディレクトリ名と同一にする必要はありません。

    尚、IIS マネージャでみると、下図のように仮想ディレクトリには矢印アイコンが表示されます。

  4. 動作確認する

    ここまでの設定で、サーバー上の IE から http://localhost/tmp/file1.html でテスト用ファイルにアクセス可能なはずです。

補足: パススルー認証について

IIS は匿名アクセスではなく、認証ユーザーの場合はその権限で物理パスへアクセスしようとします。 認証されていないユーザーの場合は、アプリケーションプールの ID に指定したユーザーでアクセスを試みます。

これをパススルー認証と呼びます。

UNC シェアへ接続する場合等は、パススルー認証では接続が失敗する場合がありますから、 ユーザー名をしていておいたほうが無難でしょう。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Web/DB プログラミング徹底解説