こんにちは、さち です。
普段、「PHP」のコーディングには「XAMPP」を使っています。
「PHP」を実行できるのは、指定した「フォルダー(ディレクトリ)」である「ドキュメントルート」だけですが、別の「フォルダー」でも実行したい状況がありました。
そこで今回は、「ドキュメントルート」を複数設置してみます。
操作手順
共通の操作
- 「XAMPP Control Panel」を起動します。
- Apache の「Config」ボタン→「<Browse> [Apache]」と進みます。Apache は起動しないで下さい。
- エクスプローラーが表示されるので、「conf」フォルダーを開きます。
ここまで進めたら、続いて【手順1】と【手順2】の操作をしていきます。
【手順1】 「http.conf」を編集
- 「conf」フォルダー内にある「httpd.conf」ファイルを、「メモ帳」などのテキストエディターで開きます。
-
LoadModule vhost_alias_module modules/mod_vhost_alias.so
を検索して、行頭の#
を削除します。
- さらに、
Include conf/extra/httpd-vhosts.conf
を検索して、行頭の#
を削除します(私の環境ではすでに削除してあった)。上書き保存します。
【手順2】 「httpd-vhosts.conf」を編集
- 「conf」フォルダー内にある「extra」フォルダーを開きます。
- 「http-vhosts.conf」ファイルを、「メモ帳」などのテキストエディターで開きます。
- 一番最後の行に、下記の内容を追記します。これは、今まで
http://localhost
でアクセスしていた「ドキュメントルート」と同じ設定にして下さい。「XAMPP」のインストール場所や「ドキュメントルート」の場所を初期設定から変更している場合は、環境に合わせて書き換えて下さい。<VirtualHost *:80> ServerName localhost DocumentRoot "C:/xampp/htdocs" </VirtualHost>
- 先ほどの記述の下に、さらに下記の内容を追記します。こちらは新しく、ローカルの
D:/sample/フォルダー名/htdocs
にhttp://フォルダー名.localhost
でアクセスできるようになる記述です。VirtualDocumentRoot
と<Directory>
のアドレス部分は、ローカルの場所に合わせて書き換えて下さい。上書き保存をして終了です。<VirtualHost *:80> ServerAlias *.localhost VirtualDocumentRoot "D:/sample/%1/htdocs/" <Directory "D:/sample/*/htdocs/"> AllowOverride All Require all granted Options Indexes FollowSymLinks ExecCGI IncludesNoExec </Directory> </VirtualHost>
これで、D:/sample/aaa/htdocs/
には http://aaa.localhost
でアクセスできますし、D:/sample/bbb/htdocs/
には http://bbb.localhost
でアクセスできます。
一度設定してしまえば、後で別のフォルダーを追加しても設定変更不要でアクセスできます。
例えば、後で D:/sample/ccc/htdocs/
を追加しても、設定をいじらずに http://ccc.localhost
を開くだけでアクセスできます。とっても便利ですね!
コメント