一般的に、Webサイトの場合、ドメイン以外にwww付きでもアクセスさせる場合が多い。

  • example.com
  • www.example.com

といった具合だ。

通常その場合、Apacheならば、httpd.confにて、virtualhost設定でServerAlias ディレクティブで設定することで実現できる。
example.comが基本の場合

<virtualhost *:80>
    DocumentRoot /path/to/htdocs
    ServerName example.co.jp
    ServerAlias www.example.com
</virtualhost>

http://httpd.apache.org/docs/2.0/ja/mod/core.html#serveralias

たまにこんな要望があったりすることがある。
example.comドメインだけを見せたくて、www.example.comにアクセスされた場合にも、example.comを表示したい。という要望だ。
通常通り、virtualhost設定をし、そこでリダイレクトの設定をすることも出来るが、virtualhost設定内で済ませることも出来る。

<virtualhost *:80>
    DocumentRoot /path/to/htdocs
    ServerName example.co.jp
</virtualhost>
<virtualhost *:80>
    ServerName www.example.co.jp
    RewriteEngine on
    RewriteRule ^(.*) http://example.co.jp$1 [R=301]
</virtualhost>

ステータスコードとして301を返すことで、永続的な移転ということを知らせることも出来る。

これの設定をするためにいろいろ試していたが、DocumentRoot設定がなくてもいいんだね。知りませんでした。