[Nginx] www 付きの URL を www 無しにリダイレクトさせる設定方法


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 ) するには | レンタルサーバー・自宅サーバー設定・構築のヒント

以上です。


参考情報

rewrite ルールのコンバート

  1. コメントはまだありません。

  1. トラックバックはまだありません。