Redirect URL pada Nginx Menggunakan Rewrite dan Return


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/ {
    rewrite ^/home/(.*)$ $scheme://namadomainbaru/$1 redirect;
}
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

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. :)


Ahmad Alimuddin

Pegiat IT, pencinta startup. Pemrograman, Jaringan, Edukasi IT, makananku sehari-hari. Saat ini fokus kepada Pengembangan produk, product Management dan User Experience Research. Bapak dari 4 orang anak dari 1 istri :)

Posting Komentar

Lebih baru Lebih lama