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。