@Eddieの回答は私に大いに役立ちましたが、OSXでXAMPPを使用して同じ問題を自分で解決するには、まだ少し追加の調査を行う必要がありました。後世のために、ここに完全なソリューションを追加すると思いました。
まず、次のエントリをhttpd-vhosts.conf(XAMPPの「etc / extra /」フォルダの下)に追加しました。
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
DocumentRoot "/Applications/xampp/xamppfiles/htdocs/"
</VirtualHost>
<VirtualHost *:80>
ServerName client1.my-machine
DocumentRoot "/Applications/xampp/xamppfiles/htdocs/clients/client1/"
</VirtualHost>
<VirtualHost *:80>
ServerName client2.my-machine
DocumentRoot "/Applications/xampp/xamppfiles/htdocs/clients/client2/"
</VirtualHost>
VirtualHostのURLに「localhost」の代わりにワイルドカードを使用し、各サブドメイン名を指定したServerName構成を追加したことに注意してください。また、「localhost」の代わりに自分のマシンの名前(「my-machine」)を使用したことにも注意してください。これにより、(localhostだけでなく)任意のマシンからのすべての要求を適切に評価できます。私はOSXで開発していますが、Parallelsを介してさまざまなVMでブラウザをテストしています。このアプローチを使用すると、ネットワーク上の任意のマシンまたはVMからhttp://client1.my-machineにアクセスできます。「localhost」を指定すると、開発マシンでのみ機能します。
注:最初のVirtualHostエントリはデフォルトとして使用され(ここで説明されているように:http://httpd.apache.org/docs/2.2/vhosts/name-based.html)、リクエストがデフォルトで次のいずれかにならないようにするために必要です。カスタムサイト。
@Eddieの回答に示されているように、アクセス許可の設定もhttpd.confに追加しました。これは必ずしも必要ではありませんが、この変更を行う必要がある2つの別々のケースに遭遇しました。
- デフォルトのXAMPPhttpルートの外部のディレクトリに新しいサイトを配置する(基本的に、http経由でアクセスできるパスには明示的なアクセス許可が設定されている必要があります)
- (デフォルトのhttpパスの下で)仮想ホストとして設定されたサイトにmod_rewriteルールを追加すると、「。htaccess:RewriteEngineはここでは許可されていません」というエラーが発生していました。オプションに関するhttpd.confのコメントを読む
AllowOverride
と、エラーの原因が明らかになりますが、以前はそれを見落としていました。これを「すべて」に変更すると、エラーが修正されました。
httpd.confの編集中に、次の行のコメントを解除する必要がある場合があることに注意してください(デフォルトではコメントアウトされています)。そうしないと、上記で行ったvhostsの変更は有効になりません。
# Virtual hosts
Include /Applications/xampp/etc/extra/httpd-vhosts.conf
最後に、上記のコメントに記載されているように、hostsファイルにカスタムドメイン名を追加する必要もありました。OSXでは、これを行うには、「/ private / etc / hosts」(Windowsでは「Windows / System32 / drivers / etc / hosts」になります)を編集し、次の行を追加します。
127.0.0.1 my-machine
127.0.0.1 client1.my-machine
127.0.0.1 client2.my-machine
注:デフォルトのOSX Finder UIでは、非表示のフォルダー(/ privateを含む)は表示されません。これは、内部のFinderオプション(詳細はGoogle)をハッキングすることで永続的に変更できます。または、たまに変更するだけで、[移動]> [フォルダに移動]メニューオプションを使用して、非表示のフォルダを名前で直接開くことができます。個人的には、私が心からお勧めするPathFinderと呼ばれるサードパーティのOSXシェルを使用しています(少額のライセンス料の価値があります)。他の多くの便利な機能の中でも、隠しファイルを非表示/表示するためのメニューオプションが含まれています。
ドラッグの1つは、URLがApache / OSXを介して解決されるように、物理開発マシンを指す一致するエントリをWindowsVMホストファイルに追加する必要があったことです。
192.168.1.5 client1.my-machine
192.168.1.5 client2.my-machine
マシン名だけのエントリ(自動的に解決される)は必要ありませんが、サブドメインを追加すると、それらのホストエントリがないと正しく解決されません。これは時々私のMacのIPが(DHCPを介して)変更されることを吸い込みますが、それは小さな迷惑です。私はそれらのIPを必要としないように設定できると思いますが、それを理解できず、次に進む準備ができています:)(誰かが答えを知っている場合はコメントを残してください)
これで、複数のクライアントサイトが1つの場所で実行され、すべての開発/テスト環境からアクセスできるようになりました。これが他の誰かに役立つことを願っています。