• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Catatan Cara Rewrite URL Untuk Block Nginx

Kepala Suku

Web & Mobile Developer
Staff member
#1
Migrasi dari server Apache ke Nginx ternyata susah-susah gampang. Beberapa kali dihadapkan masalah di Nginx berkali-kali itu pula aku belajar hal-hal baru. Salah satunya adalah seputar rewrite URL. Dulu, saat menggunakan Apache, rewrite URL bisa diatasi menggunakan .htaccess akan tetapi di Nginx harus diletakkan di block secara langsung.

Rewrite URL yang aku gunakan paling simpel adalah sebagai berikut:
NGINX:
if (-f $request_filename) { break; }
Kode di atas adalah untuk memberitahu nginx jika url yang diakses sesuai dengan nama file yang ada maka menampilkan file tersebut.

Kode kedua yang kutambahkan pada block Nginx adalah berikut ini untuk memberitahu nginx jika semua pembuatan url dihandel oleh file PHP:
NGINX:
try_files $uri $uri/ /index.php?$args;
Kode di atas juga bisa untuk menghandel parameter get. variabel $args adalah parameter get yang bisa didapat melalui $_GET['param'] di dalam pemrograman PHP.

Lebih jauh lagi, jika aku menggunakan custom parameter untuk mendeklarasikan url maka aku bisa menambahkan kode rewrite url di block nginx seperti di bawah ini:

NGINX:
rewrite ^/([^/\.]+)$ /index.php?kata=$1 break;
rewrite ^/([^/\.]+)/$ /index.php?kata=$1 break;
Kode di atas akan mengubah url menjadi SEO friendly. URL yang asalnya domain.com?kata=contoh akan direwrite menjadi domain.com/contoh.