xampp に立てたサーバーには
http://localhost/
でアクセスするわけですが、
いくつもサイトを管理していると
ドメイン名的なものをそれぞれのサイトに割り当てて
http://mypage/
http://testsite.local/
みたいなのでアクセスできるようにしたくなります。
ドメインのようなものを仮想的に割り当てるのを
バーチャルホストと言うのですが
xamppでそれをやってみましょう。
xamppで、と言いつつも、まずはWindows側の設定。
C:\Windows\System32\drivers\hosts
というファイルを、
右クリック『管理者として実行』したメモ帳などを使って開きます。
127.0.0.1 localhost
最後にのように書いてあると思うので、
127.0.0.1 localhost
127.0.0.1 mypage
127.0.0.1 testsite.local
といった形で任意のドメイン的なものを書き加えます。
(もし実在するドメインを入力すると、
そこへのアクセスが強制的にインターネットではなく
ローカルのこのパソコンに接続するようになってしまいますので注意)
これができたら hots は保存して閉じます。
続いてxampp側の設定に行きます。
G:\xampp\apache\conf\extra\httpd-vhosts.conf
を開きます。
そして#が2つ付いているところを探してください。
##NameVirtualHost *:80
と、
##
##ServerAdmin postmaster@dummy-host.localhost
##DocumentRoot “G:/xampp/htdocs/dummy-host.localhost”
##ServerName dummy-host.localhost
##ServerAlias www.dummy-host.localhost
##ErrorLog “logs/dummy-host.localhost-error.log”
##CustomLog “logs/dummy-host.localhost-access.log” combined
##
があります。
#がひとつのところは説明です。
##の所が記入例です。
まずは、
##NameVirtualHost *:80 から ## をとってあげましょう。
NameVirtualHost *:80
(どのバーチャルホストにアクセスしても
同じページに行ってしまいおかしいと思っていたら
ここの##を取り忘れていました)
つぎに、
DocumentRoot “C:/xampp/htdocs”
ServerName localhost
といった具合にlocalhostを登録します。
これと同じような書式で
DocumentRoot “C:/xampp/htdocs/mypage”
ServerName mypage
と書けば、 mypage にブラウザからアクセスすると
先ほどのhostを参考にアクセスが自分のパソコンに行き、
それを受けたxamppはmypageに指定した
C:/xampp/htdocs/mypage
へ案内してくれます。
あとはそこにあるindex.htmlなりが表示されます。
C:/xampp/htdocs/ とは違う場所にアクセスを飛ばしたいときは、
同時にアクセス権を指定する必要があります。
ServerAdmin webmaster@localhost
DocumentRoot “C:/folder/testsite”
ServerName testsite.local
order deny,allow
#allow from ALL
Allow from localhost 127.0.0.1
といった具合に<Directory>でアクセス権を指定します。
さもなくば access forbidden! になったりするみたいです。