Nginx で、www 付きの URL を www 無しにリダイレクトさせる設定方法をご紹介します。
下記の設定は、www.codenote.net にアクセスがきたら、codenote.net へリダイレクトさせます。
server {
listen 80;
server_name www.codenote.net;
rewrite ^ http://codenote.net$request_uri? permanent;
}
www付きURLは今後もずっと、www無しURLにリダイレクトさせるので、最後のリダイレクトフラグを permanent にしています。
リダイレクトフラグについては色々と種類があるので、状況に応じて設定を変更してみて下さい。
最後のリダイレクトフラグに何を指定するかで、HTTPのステータス番号も変わってきます。・last rewriteは完了で、以降のマッチするURI や locationの処理は継続します。
・break rewriteは完了です。
・redirect 一時的なリダイレクトの意味で使います。このとき、HTTP ステータス番号 302 を返して、リダイレクトを実行します。
・permanent 恒久的なリダイレクトの意味で使います。このとき、HTTP ステータス番号 301 を返して、リダイレクトを実行します。
引用元: apache のかわりにnginxを使ってみる(4) nginx でリダイレクト ( rewrite ) するには | レンタルサーバー・自宅サーバー設定・構築のヒント
以上です。