すべてのリダイレクトが必要です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
。