Mengaktifkan Clean URL Drupal di Nginx

Sudah lama sebenarnya saya tidak berurusan dengan Drupal dan ternyata sebentar lagi versi 8nya akan dirilis. Wow… sudah berapa tahun tuh dikembangkan. 🙂 Nah kali ini saya mengemban tugas untuk mengkonversi sebuah situs yang menggunakan Drupal 6 dan 7 dari shared hosting ke Virtual Private Server. Seperti biasa yang sulit itu cuma masalah link yang ramah SEO dan manusia.

Ya kadang disebut Permalink, bisa Friendly URL atau Clean URL tapi esensinya sama saja. Yang pasti kalau tidak disetel dan anda sudah mengaktifkan Clean URL di Drupal maka dijamin banyak link muncul error 404 Page Not Found. Kita harus siapkan dulu konfigurasinya. Karena di Nginx tidak ada .htaccess seperti di Apache maka kita perlu melakukan setting langsung di file konfigurasi virtual host dari website tersebut.

Anda tinggal menambahkan kode berikut didalamnya, saya pisahkan menjadi dua varian menurut versi Drupal:

  • Drupal 6 dan sebelumnya:
    location / {
                    try_files $uri @rewrite;
            }
     
    location @rewrite {             
                    rewrite ^/(.*)$ /index.php?q=$1;
            }
  • Drupal 7 dan setelahnya:
    location / {
                    try_files $uri @rewrite;
            }
     
    location @rewrite {
                    rewrite ^ /index.php;
            }

Setelah itu tinggal restart Nginx dan tes kembali setiap link yang ada dalam website. Niscaya akan dapat diakses dengan normal. 🙂

Tinggalkan komentar