バーチャルホストを利用すれば、同一サーバ上で
のようなアクセスが可能となります。
設定ファイルを開き、名前ベースのバーチャルホストでリクエストを受け付けるIPアドレスを指定します。
NameVirtualHost *:80
Apache 2.3.11以降、このNameVirtualHostによる指定は不要で、指定しても「AH00548: NameVirtualHost has no effect and will be removed in the next release」として無視されます。 NameVirtualHost Directive - core - Apache HTTP Server Version 2.4 Common problems when upgrading - Upgrading to 2.4 from 2.2 - Apache HTTP Server Version 2.4
次にVirtualHostディレクティブを使用し、個々のドメインを定義します。DcumentRootで参照させるローカルのパスを指定し、ServerNameでホスト名を設定します。
<VirtualHost *:80> DocumentRoot "C:/localhost" ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "C:/localhost/test" ServerName test.localhost </VirtualHost>
設定を反映させるためには、Apacheを再起動します。
先のServerNameで設定した名前でローカルのURLを参照できるように、Hostsファイルを編集します。
このHostsファイルとはOSのシステムファイルの一つで、TCP/IPネットワーク上のIPアドレスとホスト名の対応を記述するテキストファイルです。Windows NT系では、%WINDIR%/system32/drivers/etcにあるファイルがそれにあたります。Hostsファイルとは 【Hosts file】 - IT用語辞典
たとえば先のドメインに対応させるには、
127.0.0.1 localhost 127.0.0.1 test.localhost
のように記述します。
このファイルを編集すると、保存時に「この場所に保存するアクセス許可がありません。管理者に連絡してアクセス許可を取得してください。」とエラーとなることがあります。
このときには、管理者としてファイルを開きます。
以下は、Windows 10のHostsファイルの既定値です。すべてコメントアウトされており、何も機能しません。
# Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhostHow can I reset the Hosts file back to the default?