server aliasに助けられました

通常サイトにはにアクセスする時にhttp://www .logw.jp/のように『www』から始まってアクセスしたり、http://logw.jp/のように『www』なしでアクセスする時があります。logwでは『www』ありのURLを使っているのでhttp://logw.jp/でアクセスしてもhttp://www.logw.jp/になります。今までは普通にドメインさえ登録すればどっちでも見れていたと思ったのですが、実際に自分で設定してみるとそうでもなかったのを痛感したのでそれを書きたいと思います。

confファイルの設定

logwのサーバーはCentOS5.x系を使っています。そして、バーチャルホストを採用しているので当然confファイルにはNameVirtualHost *:80の部分のコメントを外しています。
logwのconfファイルは/conf.d/の中にあるのでそっちに設定をしました。

通常ServerNameにドメイン名を入力します。このとき、logwにはwwwありとなしと両方あります。ServerNameにlogw.jpと書くとwwwなしが表示されます。wwwをつけると403エラーとなります。403エラーはトップページに返す仕組みにしているのですが、それはサーバーの設定で他のドメインになります。

回避としてはServerNameのwwwありとなしを二つconfファイルに書き込むというのがあったのですが、時間がかかります。ServerNameを二つかけばいいんじゃないの?と思うかもしれないですが、そうなるとアパッチがエラーを返します。非常にこれは困った事になります。

ServerAliasを使う

Aliasとは、ウインドウズでいうショートカットみたいなものです。LinuxではAliasと表記され、メールとかでも使われています。メールの場合は転送とかに近いかな・・・ServerNameの下に一行ServerAliasと表記して、www.logw.jpと書いてあります。これでwww.logw.jpでアクセスしてもServerName:logw.jpと同じ設定を適用しますという意味になります。

この一行で解決するとは・・・普段何気なく使っていて設定しているけどやはりサーバーの設定は思ってもいなかった事があるんだなと実感しました。