Nginx で www 付きの URL を www 無しにリダイレクトする設定

このエントリーをはてなブックマークに追加

これまでのドメインに対しては、 www は必須だよなーという気持ちがあって、ドメインの設定は基本的には www 付きとして設定をしてきました。しかし、ここ最近は、サーバー周りを触りだしたこともあって、URLは短いほうが覚えやすくていいなーという気持ちが大きくなってきました。

www を付ける・付けないどちらが良いかはわかっていないのですが、付けない方がタイプ数が少なくスッキリ!と考えたため、Nginxで運用しているドメインの一部を早速変更してみました。

www 付きから www なしにするNginxのコード

www ありの server_namerewrite の指定を入れるだけでOKでした。

server {
  listen 80;
  server_name  www.h2ham.net;
  rewrite ^ http://h2ham.net$request_uri? permanent;
}

今回のリダイレクトは恒久的にするため、最後に permanent を指定しました。これを入れることで HTTP ステータスが 301 を返してのリダイレクトになります。

恒久的なリダイレクト 301 ではなく、一時的なリダイレクト 302 で設定したい場合は、 上記の permanent の部分を redirect にするだけのようです。

参考:
www 付きの URL を www 無しにリダイレクトさせる設定方法

www あり・なしどちらが良いのか

今回は 短くてタイプしやすくなるし覚えやすい という理由で変更しましたが、 SEO 的に見たり他のサービス(検索以外の登録系)からみたら良くないのかもわかりませんが、少なくとも最近見ているサイトはなしでリンクさせているケースのほうが多いような気がしたため(あくまで主観ですが)どちらでもいいやという気になりました。

そもそも SEO を気にしていないというのも…

SEO にものすごく影響があって検索できない!ってなったとしても、基本的には SEO を気にしていないというのもあります。

自分のアウトプット用として利用しているサイトに対して今回の www なしの対応を入れただけなので、 自分として影響がないため、これまで www ありだったサイトを 思い切ってなしにしてみました。何が変わるかも現時点ではわかっていないですが、変わったら変わったで・変わらなかったら変わらなかったでいずれにせよ得るものがあることでしょう。

とりあえず、今後このサイトは、 www なし として運用していきます。