この記事について
| 環境 | さくらのVPS + apache |
|---|---|
| 目的 | www付きURLをwwwなしに統一(正規化)する |
| 結果 | DNSにwwwを登録し、RewriteRule で301リダイレクトした |
つまずきポイント要約
- 既にサブドメインが付いているURLに www を重ねる正規化は通常しない(www自体がサブドメイン)
- 効いていないように見えたらブラウザのキャッシュを消して確認(はまった)
www.○○○.com でアクセスしたときに、○○○.com にリダイレクトする方法
1.www.○○○.com を叩いたら、○○○.com のデータがあるサーバーにアクセスするように、DNS のゾーンの設定をする。
2.○○○.com のサーバー内の vhost.conf などの設定ファイルに以下の記述を追記する。
# www normalization
ServerAlias www.○○○.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.○○○\.com$
RewriteRule ^/(.*) http://○○○.com/$1 [R=301,L]
なお、△△△.○○○.com のように既にサブドメインがついている URL は対して、www.△△△.○○○.com というサブドメインのサブドメインをつける URL の記述は通常しない。www 自体がサブドメインのため。上記のやり方でも正規化できない。
うまくいかない場合は、ブラウザの情報を削除してからやってみる。はまった。
