NginxでURLをリダイレクトする方法 質問する

NginxでURLをリダイレクトする方法 質問する

すべてのリダイレクトが必要ですhttp://test.comリクエストするhttp://www.test.com。これはどうすればできるのでしょうか。

サーバーブロックに追加してみました

rewrite ^/(.*) http://www.test.com/$1 permanent;

しかしブラウザでは

ページが正しくリダイレ​​クトされていません

Firefox は、サーバーがこのアドレスへのリクエストを完了できない方法でリダイレクトしていることを検出しました。

私のサーバーブロックは次のようになります

 server {
            listen       80;
            server_name  test.com;
            client_max_body_size   10M;
            client_body_buffer_size   128k;

            root       /home/test/test/public;
            passenger_enabled on;
            rails_env production;

            #rewrite ^/(.*) http://www.test.com/$1 permanent;
            #rewrite ^(.*)$ $scheme://www.test.com$1;

            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                    root   html;
            }
    }

ベストアンサー1

目的を達成するための最善の方法は、別のサーバー ブロックを追加することです。

server {
        #implemented by default, change if you need different ip or port
        #listen *:80 | *:8000;
        server_name test.com;
        return 301 $scheme://www.test.com$request_uri;
}

メイン サーバー ブロックの server_name 変数を次のように編集します。

server_name  www.test.com;

重要: 新しいserverブロックはこれを行う正しい方法です。if悪であるif可能であれば、場所とサーバーの代わりに使用する必要がありますRewrite悪すぎるなので、 に置き換えましたreturn

おすすめ記事