• 締切済み

ApacheのVirtualHostの設定すると、メイン(?)の設定に影響してしまう

いつもお世話になっております。 ApacheのVirtualHostの設定をして複数サイトを運営したいと思ったのですが、VirtualHostの設定をしたところ、VirtualHostでないURLの方までドキュメントルートがVirtualHostに設定した方のページが表示されるようになってしまいました。 説明が下手すぎるので、具体的にはieserverというDDNSにて aaaaa.dip.jp bbbbb.dip.jp という二つのサブドメインを取得しまして(ドメインは適当です) httpd.confのSection 2 'Main' server configrationには ServerName aaaaa.dip.jp:80 DocumentRoot "/var/www/html" と記述し、 Section 3: Virtual Hostsには NameVirtualHost *:80 <VirtualHost *:80> ServerName bbbbb.dip.jp DocumentRoot /var/www/sample <Directory "/var/www/sample"> Order allow,deny Allow from all </Directory> </VirtualHost> と記述しています。 これで、 http://aaaaa.dip.jpでアクセスすれば/var/www/htmlの中のindex.htmlが、 http://bbbbb.dip.jpでアクセスすれば/var/www/sampleの中のindex.htmlが 表示されると思ったのですが、 どっちのURLでアクセスしても/var/www/sampleの中のindex.htmlが表示されて しまうのです。 ちなみにVirtualHostの設定をコメントアウトしてからリスタートすると /var/www/htmlの中のindex.htmlが表示されるようになります。 何か設定が足りていないのでしょうか? 調べてもちょうど良い文献が見つからず四苦八苦しております。 原因が推測できれば教えていただけると助かります。

みんなの回答

  • pakuti
  • ベストアンサー率50% (317/631)
回答No.1

http://httpd.apache.org/docs/2.2/ja/vhosts/examples.html 上記に書いてある通りです。 アスタリスクはすべてのアドレスにマッチしますので、主サーバは リクエストを扱いません。www.example.com は 最初にあるため、優先順位は一番高くなり、default もしくは primary のサーバと考えることができます。つまり、リクエストが どの ServerName ディレクティブにもマッチしない場合、 一番最初の VirtualHost により扱われます。

guttten
質問者

お礼

回答ありがとうございました。 お礼が遅れてしまい申し訳ございません。 結局がちゃがちゃやっているうちにうまく行ったのですが、理解がかなり浅い状態で終わってしまいました。 ちゃんと勉強します^^;

関連するQ&A