バーチャルホスト

Laravelではドキュメントルートにpublicフォルダーを置くことになっている。
そうすると、複数のプロジェクトやWordPressをXAMPPで管理することができない。
しかし、XAMPPではバーチャルホストを設定することができて、それを利用すると問題なく、JetStreamのLivewireもInertiaも動作した。

php artisan serve

だと、動作していたのは、それを起動したディレクトリがドキュメントルートになるから、というだけだった。

XAMPPが既定のディレクトリにインストールされているとすると、

C:\xampp\apache\conf\extra

に、httpd-vhosts.conf というファイルがあるのでこれを編集する。

20行目に、##NameVirtualHost *:80 があるので、##を削除して有効にする。

NameVirtualHost *:80

バーチャルホストの内容を最後尾に追記する。従来のlocalhostはつかえなくなるので、最初に追加。
ちなみに、localhostでWordPressが起動するようにしてある。


<VirtualHost *:80>
    DocumentRoot "C:\xampp\htdocs"
    ServerName localhost
</VirtualHost>

つぎに、laravelのプロジェクトを追記していく。


<VirtualHost *:80>
    DocumentRoot "C:\xampp\htdocs\lara\public"
    ServerName lara
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:\xampp\htdocs\jetvue\public"
    ServerName jv
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:\xampp\htdocs\jet8\public"
    ServerName jet8
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:\xampp\htdocs\superlockers\public"
    ServerName nsl
</VirtualHost>

次は.hostファイルの変更。

メモ帳で修正できるが、管理者権限でメモ帳を起動させる必要がある。

C:\Windows\System32\drivers\etc

全てのファイルを指定すると、hostsファイルが選択できる。

最後尾に追記。(#の行は既存の行)
localhostを指定しなおす。

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost

127.0.0.1 localhost
127.0.0.1 lara
127.0.0.1 jv
127.0.0.1 jet8
127.0.0.1 nsl

XAMPPを再起動させればOK。