Apacheでのヴァーチャルホストの設定
4月 29th, 2005
DNSでApacheでのヴァーチャルホストの設定をするには
httpd.confに下記のような追記を行う。
ServerAdmin root@cheki,net DocumentRoot /home/vhosts/cheki.net/public_html ServerName www.cheki.net
ServerAdminは省略化。
これでwww.cheki.netへアクセスした場合、DocumentRootの中で表示すべきファイルを表示できるようになる。
cheki.netやDNSにcnameでmail、ftpなどのホストを設定している場合、それらにアクセスしようとすると想定外のことなのでhttp.confで一番最初に設定されたVirtualHostのDocumentRootを表示してしまう。
ServerAliasを利用してcheki.netや*.cheki.netへのアクセスがあった場合もwww.cheki.netへアクセスされた場合と同じ表示をさせるようにする。
ServerAdmin root@cheki,net DocumentRoot /home/vhosts/cheki.net/public_html ServerName www.cheki.net ServerAlias cheki.net *.cheki.net
これでcheki.netや*.cheki.netなどのアクセスでも違うサイトを表示させるということはなくなった。
cheki.netでもアクセスはできるが、www.cheki.netを利用してほしいのでそれらにアクセスがあった場合はwww.cheki.netへ転送させるようにする。
ServerAdmin root@cheki,net DocumentRoot /home/vhosts/cheki.net/public_html ServerName www.cheki.net ServerName cheki.net ServerAlias *.cheki.net Redirect / http://www.cheki.net/
これでcheki.netや*.cheki.netへアクセスがあった場合www.cheki.netへ転送されるようになる。
www.cheki.netへアクセスした場合は上の設定から処理されるのでリダイレクトし続けるといった無限ループに陥ることはない。
設定後Apacheを再起動させないともちろんダメですよよ。