Pada webserver Apache kita bisa menggunakan .htaccess untuk redirect URL atau bahkan memanipulasi URL, biasanya kita pakai untuk membuat permalink pada WordPress. Nah pada pos ini kita akan bahas kasusnya pada Nginx.
Kasus 1 :
URL awal http://namadomain.com, kita ingin redirect semua url pada domain tersebut secara permanen menggunakan https://
Solusi config :
menggunakan metode return yang diletakkan pada blok kode server {listen 80;}.
return 301 https://namadomain.com$request_uri;Penjelasan : Ketika user membuka domain anda di port 80 (http) maka akan langsung di return 301 ke https://namadomain ditambah url belakangnya ($request_uri).
Kasus 2 :
URL awal http://namadomain.com/direktori. Pada kasus ini website ada pada direktori di dalam root dan ingin dimigrasi menjadi http://namadomainbaru.com/
Solusi config :
menggunakan metode rewrite dan redirect.
location /home/ {Penjelasan : baris confog location /home/ menandakan pengidentifikasian server jika client merequest url yang terdapat direktori /home/ dan merewritenya dan meredirect ke domain baru. ^ mengidentifikasi nama domain, (.*)$ menyimpan uri setelah direktori /home/ dan mengirimnya ke variabel $1
rewrite ^/home/(.*)$ $scheme://namadomainbaru/$1 redirect;
}
Selain berguna untuk meredirect saat migrasi, config ini juga bermanfaat mengantisipasi url 404 not found yang biasanya sering dialami sebuah web yang telah migrasi ke alamat baru namun urlnya banyak yang masih terindex oleh mesin pencari.
Semoga bermanfaat. :)