質問: Mac+XAMPP環境でバーチャルホストが効かない Mac OX X 10.10.2、XAMPP 1.8.2-5でWebアプリの開発をしております。 例えばこれまで、localhost/sub というURLで開発しておりましたが、 サブドメインを使って、sub.localhostというURLで開発したいと思います。 ネット検索したところ、「httpd.conf、httpd-vhosts.conf、hostsを編集→Apatch再起動」という以下のような解説ページがたくさん見つかりました。 XAMPP for Macでのバーチャルホスト設定 同じように変更しているものの、サブドメインでアクセスすることができません。 具体的には、ブラウザのURLにsub.localhost を入力すると、XAMPPのようこそ画面が表示されてしまいます。 アプリ(フレームワークはFuelphp)は以下のフォルダに配置しております。 /Applications/XAMPP/xamppfiles/htdocs/sub/public お教えいただきたい点が2点あります。 ■上記のような解説サイトに書かれている以下のファイル(httpd.conf、httpd-vhosts.conf、hosts)が、どのパスにあるファイルなのかを再確認、お教えいただきたい。 ■どうやったらsub.localhostでサイトを表示できるようになりますか?問題箇所の特定と解決方法をお教えください。
回答: > ■上記のような解説サイトに書かれている以下のファイル(httpd.conf、httpd-vhosts.conf、hosts)が、どのパスにあるファイルなのかを再確認、お教えいただきたい。 > > httpd.conf は、/Application/XAMPP/etc/httpd.conf です。 httpd-vhosts.conf は、httpd.conf に書かれているように、/Applications/XAMPP/etc/extra/httpd-vhosts.conf です。 hosts は /private/etc/hosts です。 > ■どうやったらsub.localhostでサイトを表示できるようになりますか?問題箇所の特定と解決方法をお教えください。 > > 定義ファイルを見ないと何とも言えませんが httpd-vhosts.conf の sub.localhost の定義は以下のようになっているのではありませんか。 ``` DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs" ServerName sub.localhost ``` であれば、質問に書かれたような表示は正しい動作だと思いますが。 VirtualHost ディレクティブで Directory の設定がないので、index.php が無い場合にファイルリストが表示されているのだと思います。 上記の定義であればURLは http://sub.localhost/sub/public になります。 URLを http://sub.localhost/ でアクセスしたいのであれば、VirtualHost の定義は以下のようになると思います。 ファイルの一覧を出したくなければ、Directory の設定もやりましょう。 ``` DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/sub/public" ServerName sub.localhost AllowOverride All Options -Indexes FollowSymLinks Order allow,deny Allow from all ``` Directory の設定はあくまでも一例です。