Saya perlu mengalihkan setiap permintaan http://test.com ke http://www.test.com . Bagaimana ini bisa dilakukan.
Di blok server saya mencoba menambahkan
rewrite ^/(.*) http://www.test.com/$1 permanent;
tapi di browser tertulis
The page isn't redirecting properly
Firefox has detected that the server is redirecting the request for
this address in a way that will never complete.
blok server saya terlihat seperti
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;
}
}
redirect
nginx
url-rewriting
Amal Kumar S
sumber
sumber
Jawaban:
Cara terbaik untuk melakukan apa yang Anda inginkan adalah menambahkan blok server lain:
Dan edit variabel server_name blok server utama Anda sebagai berikut:
Penting :
server
Blok baru adalah cara yang benar untuk melakukan ini,if
itu jahat . Anda harus menggunakan lokasi dan server, bukanif
jika memungkinkan.Rewrite
terkadang juga jahat , jadi gantilah denganreturn
.sumber
return 301 http://wwww.test.com$request_uri;
alih - alih menulis ulang.return
bukanrewrite
. Lihat dokumenredirect
kemudianmain server
blok ataumain server
blok makaredirect
? Karena saya memiliki masalah yang sama, stackoverflow.com/questions/35451929/…301
redirect vs302
. Anda mungkin terjebak dengan pengalihan permanen yang disimpan dalam cache, yang membuatnya sangat merepotkan untuk mengubah pengaturan Anda untuk klien yang telah mengakses URL. (Saya tahu OP meminta301
, tapi pastikan itu yang Anda inginkan.)Mirip dengan jawaban lain di sini, tetapi ubah http di rewrite menjadi $ scheme seperti:
Dan edit variabel server_name blok server utama Anda sebagai berikut:
Saya harus melakukan ini untuk mengalihkan www.test.com ke test.com.
sumber
Pertama, pastikan Anda telah menginstal Nginx dengan modul penulisan ulang HTTP. Untuk menginstal ini kita perlu memiliki pcre-library
Bagaimana menginstal perpustakaan pcre
Jika hal tersebut di atas sudah selesai atau jika Anda sudah memilikinya, maka tambahkan saja kode di bawah ini di blok server nginx Anda
Untuk menghapus www dari setiap permintaan yang dapat Anda gunakan
sehingga blok server Anda akan terlihat seperti
sumber
Ini adalah hit teratas di Google untuk "nginx redirect". Jika Anda sampai di sini hanya ingin mengarahkan satu lokasi:
sumber