Berbeda dengan apache. nginx, tidak mengenal apa itu .htaccess. nginx tidak melakukan rewrite url / konfigurasi apapun pada .htaccess, karena nginx memang tidak mengenal .htaccess.
Oleh karena itu, nginx menyediakan suatu file yang tidak asing bagi kita, terutama pada saat kita install dan konfigurasi awal nginx. yaitu, file default .
Baca juga: Konfigurasi WEB Server Nginx pada Debian 9 Stretch
Secara default, file tersebut terletak pada /etc/nginx/sites-enabled/default atau /etc/nginx/sites-available/default , (saya biasanya langsung menggunakan yang sites-enabled).
Pada kasus lain, jika ingin menggunakan framework codeigniter misalnya. Kita harus melakukan rewrite agar fungsi routing dapat berjalan. Yang biasanya kita, harus membuat sebuah file .htaccess di codeigniter untuk menempatkan perintah-perintah Rewrite.
Di nginx, kita akan melakukannya pada file yang telah saya sebut diatas, yaitu file default. Oleh karena itu, ikuti langkah berikut:
1). Check Instalasi Nginx
Periksa dulu apakah nginx anda sebelumnya sudah berjalan dengan baik untuk membuka http://localhost dan menjalankan script php.jika belum, anda dapat mengakses artikel yang sebelumnya saya buat mengenai instalasi dan konfigurasi awal nginx. Konfigurasi WEB Server Nginx pada Debian 9 Stretch
2). Mengakses dan Membuka File Default Nginx
Untuk mengakses dan membuka file default pada nginx. Di linux, anda cukup membuka terminal lalu mengetikkan beberapa baris perintah berikut.sudo nano /etc/nginx/sites-enabled/default
Setelah itu tekan enter, jika anda ingin konfigurasi codeigniter, tambah baris berikut diantara bracket ({ }) pada server { }.
location /api {
try_files $uri $uri/ /api/index.php?/$request_uri;
}
ganti /api dengan nama file web yang akan anda akses di /var/www/html/ (default)Jika anda pengguna OS selain linux distro berbasis debian/ubuntu silahkan sesuaikan untuk cara mengakses dan membuka file nya seperti saat anda instalasi dan konfigurasi awal nginx.
3). Percobaan Melakukan Rewrite Rules Untuk Rerouting
Jika anda ingin melakukan rewrite di file php kamu, semisal menghapus file index.php dan mengoper beberapa custom parameter url, kamu bisa melakukan perintah berikut:location /mvcapp {
root /var/www/html/mvcapp/;
index /mvcapp/index.php;
rewrite ^/mvcapp/(.*)$ /mvcapp/index.php?url=$1 last;
try_files $uri $uri/ /mvcapp/index.php?/$request_uri;
}
Seperti biasa, ganti /mvcapp dengan direktori web yang ingin anda akses.letakkan code diatas di file default nginx, diantara server block anda / diantara bracket ({ }) pada server { }.
lebih detail mengenail penggunaan rewrite bisa dibaca disini,
https://www.nginx.com/blog/creating-nginx-rewrite-rules/
4). Simpan dan Restart Nginx
Lakukan save dan restart nginxdi linux,
jika menggunakan perintah nano untuk membuka, ctrl+x , lalu y , lalu <enter> untuk menyimpan file. dan perintah dibawah ini untuk merestart nginx.
/etc/init.d/nginx restart
keyword:
Melakukan rewrite url dengan .htaccess di nginx
Sekian dan Terimakasih