|
名前ベースのバーチャルホストの実現方法について説明します。 ローカルエリアネットワークで実現しますので、今回はhostsファイルを変更しますが、実際にインターネットに公開する場合はDNSに登録している必要があります。 ではまずapacheを起動しているWindowsのC:\WINDOWS\system32\drivers\etc配下のhostsファイルに、同一IPアドレスに対して複数の名前を登録します。 以下、hostファイルの変更例です。 |
| hosts |
127.0.0.1 localhost 192.168.1.100 www.yahoo.com #追加した行 192.168.1.100 www.yahoo.co.jp #追加した行このように設定することで、ブラウザからwww.yahoo.co.jpと入力してもwww.yahoo.comと入力しても192.168.1.100にアクセスするようになります。 192.168.1.100は、Apacheを起動しているPCになります。 では次にApacheの設定ファイルhttpd.confにバーチャルホストの設定をします。 NameVirtualHost ディレクティブでApacheが起動しているIPアドレスを指定します。 その次に VirtualHost ブロックを指定し、そのブロック内でServerNameとDocumentRootを指定します。 VirtualHostディレクティブ内にはホスト名もしくはIPアドレスを指定します。これはNameVirtualHostで指定したIPアドレスと合致していなければいけません。 DocumentRootディレクティブで、そのServerNameにアクセスした際に提供するディレクトリを指定します。 以下、httpd.conf例です。 |
| httpd.conf |
NameVirtualHost 192.168.1.100 <VirtualHost www.yahoo.co.jp> ServerName www.yahoo.co.jp DocumentRoot "D:/CONFRAGE" </VirtualHost> <VirtualHost www.yahoo.com> ServerName www.yahoo.com DocumentRoot "D:/CONFRAGE/apache" </VirtualHost> |