Xamppでサブドメインを使う(hosts、httpd-vhosts.conf)
「localhost/〇〇〇/xxx.html」じゃなくて「〇〇〇.localhost/xxx.html」としたい
作成日:2018-05-08, 更新日:2021-02-03
基本
・「C:\xampp\apache\conf\extra\httpd-vhosts.conf」を修正
・「C:\WINDOWS\system32\drivers\etc\hosts」を修正
・XamppからApache再起動
以下の例は下記の2つでゴニョゴニョしたい。
・「http://localhost」
・「http://zebra.localhost」
httpd-vhosts.confの修正
「C:\xampp\apache\conf\extra\httpd-vhosts.conf」を修正する。
「http://zebra.localhost」で使うフォルダによって内容が異なる
・「xampp/htdocs/zebra」を使いたいとき
・「xampp/zebra」を使いたいとき
「C:\xampp\htdocs\zebra」を使いたいとき
<VirtualHost *:80> DocumentRoot "C:/xampp/htdocs" ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/zebra" ServerName zebra.localhost </VirtualHost>
「C:\xampp\zebra」を使いたいとき
<VirtualHost *:80> DocumentRoot "C:/xampp/htdocs" ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "C:/xampp/zebra" ServerName zebra.localhost </VirtualHost> <Directory "C:/xampp/zebra"> Require all granted #order deny,allow #allow from ALL </Directory>
※「xampp/htdocs」の下じゃないなら「<Directory "C:/xampp/zebra">」が必要
「<Directory>」内のはapacheのバージョンに注意。
- apache 2.2系
-
order deny,allow allow from ALL
- apache 2.4系
-
Require all granted
プログラムが絡むとき
「Options Indexes FollowSymLinks Includes ExecCGI」「AllowOverride All」あたりも追加しておくのが良さげ。
<VirtualHost *:80> DocumentRoot "C:/xampp/htdocs" ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "C:/xampp/zebra" ServerName zebra.localhost </VirtualHost> <Directory "C:/xampp/zebra"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted #order deny,allow #allow from ALL </Directory>
hostsの修正
「C:\WINDOWS\system32\drivers\etc\hosts」を修正する。
127.0.0.1 localhost 127.0.0.1 zebra.localhost
制限
メモ。詳細は不明。
1つのIPで設定できるのは10個らしい。
正確には、1つのIPを10個までしか設定できない。
▼「127.0.0.1」を10個設定。11個目は無視されるそうだ。
127.0.0.1 localhost 127.0.0.1 test02.localhost 127.0.0.1 test03.localhost ・・・ 127.0.0.1 test10.localhost 127.0.0.1 test11.localhost
▼「127.0.0.1」とドメインを「1対1」で設定するのではなく「1対複数」ですれば10個以上設定できる
127.0.0.1 localhost test02.localhost test03.localhost ・・・ test10.localhost 127.0.0.1 test11.localhost
※「1対10」が最大なのかは不明。
ぷちまとめ
記述A | 記述B | |
---|---|---|
一つのIPに複数のドメインを割り当て |
127.0.0.1 localhost 127.0.0.1 test02.localhost |
127.0.0.1 localhost test02.localhost |
一つのIPは10個まで |
127.0.0.1 localhost 127.0.0.1 test02.localhost 127.0.0.1 test03.localhost ・・・ 127.0.0.1 test10.localhost |
127.0.0.1 localhost 127.0.0.1 test0201.localhost test0202.localhost 127.0.0.1 test0301.localhost test0302.localhost ・・・ 127.0.0.1 test1001.localhost test1002.localhost ※一つのIPに複数のドメインを紐づけは可能 |
XamppからApache再起動
Apacheを再起動したらブラウザからアクセスして確認。
関連項目
・PHP file_get_contents()+Win:Xampp+localhostでタイムアウト
・Xamppでサブドメインを使う(hosts、httpd-vhosts.conf):簡易版