バーチャルホストの設定(Apache2.4)
Windows環境でのバーチャルホストの設定手順
初期設定の単一(localhost)設定から、別のドメインも扱えるように変更。
httpd.confの設定
場所はC:\Apache24\conf下。
バーチャルホストを有効化
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
C:\Apache24\conf\extra下のhttpd-vhosts.confをコピーしバックアップ(httpd-vhosts.conf.org)を取っておく。
httpd-vhosts.confの設定
デフォルトをコメントアウト
#<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.localhost
# DocumentRoot "C:/Apache24/docs/dummy-#host.localhost"
(中略)
# ErrorLog "logs/dummy-host2.localhost-error.log"
# CustomLog "logs/dummy-host2.localhost-access.log" common #
#</VirtualHost>
サブドメインを追記
ドキュメントルートはC:\appli\www、ドメインはappli.localhost。
<VirtualHost *:80>
ServerAdmin appli@appli.localhost
DocumentRoot "C:/appli/www"
ServerName appli.localhost
ErrorLog "logs/appli.localhost-error.log"
CustomLog "logs/appli.localhost-access.log" common
<Directory "C:/appli/www">
Require all granted
</Directory>
</VirtualHost>
.htaccessを有効にするには
<Directory "C:/appli/www">
AllowOverride All
Require all granted
</Directory>
2.2系は
Order allow,deny
Allow from all
2.4系は
Require all granted
C:\WINDOWS\system32\drivers\etc下のhostsをコピーしバックアップ(hosts.org)を取っておく。
hostsの設定
127.0.0.1 appli.localhost
Apacheを再起動。
ホスト名にアンダースコアが含まれていると、400 Bad Requestが発生し利用できない。
Bad Request
Your browser sent a request that this server could not understand.
Additionally, a 400 Bad Request error was encountered while trying to use an ErrorDocument to handle the request.
appli.localhostの確認
C:\appli\www下にphpinfo.phpを作成。
http://appli.localhost/phpinfo.phpにアクセスし、PHP Version 7.2.6(設定情報)が表示されれば設定完了。