Apacheのバーチャルホストの設定について
Apacheでvirtualhostの設定をしているのですがうまくいきません。
ホスト:ドキュメントルート
v1.hoge.com:/var/www/v1/
v2.hoge.com:/var/www/v2/
v3.hoge.com:/var/www/v3/
です。
設定は
<VirtualHost *:80>
Servername v1.hoge.com:80
DocumentRoot "/var/www/v1"
<Directory "/var/www/v1/">
Options Includes FollowSymLinks ExecCGI
</Directory>
</VirtualHost>
<VirtualHost *:80>
Servername v2.hoge.com:80
DocumentRoot "/var/www/v2"
<Directory "/var/www/v2/">
Options Includes ExecCGI
</Directory>
</VirtualHost>
<VirtualHost *:80>
Servername v3.hoge.com:80
DocumentRoot "/var/www/v3"
<Directory "/var/www/v3/">
Options Includes FollowSymLinks
</Directory>
</VirtualHost>
で、三つともv*の部分とOptionsがちがうだけになっています。
http://v1.hoge.com/では普通にアクセスできるのですが、http://v2.hoge.com/とhttp://v3.hoge.com/でアクセスしようとするとなぜか/var/www/v1/foo/index.cgiが表示されます。ただしURLは変わらすhttp://v2.hoge.comのままです。ただしhttp://v2.hoge.com/index.htmlと入力するときちんと表示されます。DirectoryIndexでindex.htmlを指定しても無駄でした。
/v1には/v1/index.htmlと/v1/foo/index.cgi、/v2には/v2/index.html、/v3には/v3/index.htmlだけが入っています。
/etc/hostsとか/etc/hosts.confとか/etc/nsswitch,confなども試しました。DNSは登録してからすでに一か月ほど経過していますのでとっくに浸透していると思いますが、v1を設定した時期とv2,v3を設定した時期は半年ぐらい空いてます。
同様の構成を別のサーバーでも試しましたが、症状は同じでした。まあ両方自分で同じように建てたので同じように間違っているだけかもしれませんが。。。
気持ち悪いのは次の四点です。
1.ドキュメントルートが別のホストになる
2.別のホストのドキュメントルートどころかその下にあるCGIが実行される
3.DirectoryIndexが効かない
4.アクセスがやけに遅い(v1とかは普通の速度)
エラーログには何もなし、アクセスログにはhttp://v2.hoge.comにアクセスした記録しかないです。
httpd.confではNameVirtualHost *:80と記述し、DocumentRootはコメントアウトしています。
CentOS 6.5
Apache 2.2.15
です
これくらいの情報で十分でしょうか?足りなければお叱りください。
よろしくお願いします。
お礼
解決しました。 どうもありがとうございました。