Apache の Vhost はローカルでのみ動作しますか?

Apache の Vhost はローカルでのみ動作しますか?

わかりました。次のような行を追加しました:

127.0.0.1   somedomain.com

または、ルーターの IP を指し、転送される他のドメインの場合、メイン サイトにはアクセスできますが、httpd-vhosts.conf で定義したサブフォルダーに移動する必要があります。

NameVirtualHost  somedomain.com:80

<VirtualHost somedomain.com:80>
 DocumentRoot "D:/Apps/xampp/htdocs/somedomain"
 ServerName somedomain.com
 ServerAlias somedomain.com
</VirtualHost>

つまり、ローカルでは somedomain.com が機能し、リモートではルート htdocs に移動します。したがって、*:80 ワイルドカードを使用すると機能しますが、すべてがサブフォルダーを指し、他のすべての vhosts は無視されるようです。

なぜそうなるのか、何か考えはありますか?

答え1

127.0.0.1 は、各ホストに割り当てられたローカル アドレスであるため、外部接続には機能しません。

httpd.confを変更して、ApacheプロセスがDHCPによって割り当てられたIPアドレスをリッスンするようにすることをお勧めします。

関連情報