Cara Setup Apache mod_rewrite

Apache mod_rewrite adalah cara memanipulasi alamat URL yang sangat efektif dan mudah. Tindakan memanipulasi ini dilakukan dari sisi server. Dalam ilustrasi yang lebih sederhana, mod_rewrite akan mengonversi URL yang clean dan user-friendly menjadi situs web. Seperti yang tertulis di namanya, mod_rewrite berfungsi dalam rewriting URL. Metode ini dipandang sebagai opsi yang tepat untuk merapikan URL website. Di tutorial ini, kami akan membahas pengertian Apache mod_rewrite, kegunaannya, dan cara men-setup-nya di VPS yang memiliki Apache sebagai web servernya!

Bagaimana Cara Kerja Apache mod_rewrite?

Setiap kali user memasukkan URL, URL diperiksa dengan cara dibandingkan dengan daftar rules yang telah ditentukan. Rules di sini berguna untuk mencari pola atau keyword tertentu. Jika keyword tersebut ada di URL dan rulesnya cocok, maka akan diganti dengan string yang telah ditentukan, yaitu URL yang baru.

Mengapa Apache mod_rewrite Sangat Berguna?

Kelebihan utama yang ditawarkan oleh Apache mod_rewrite adalah kemampuannya dalam memanipulasi URL menjadi URL yang rapi (clean). URL yang dimanipulasi tersebut nantinya dapat dengan mudah dipahami oleh end user yang bisa saja bukanlah seorang teknisi ahli.

Selain user-friendly, URL yang baru juga akan lebih cepat dikenali oleh mesin pencari! Lalu, apa itu clean URL? Berikut beberapa contohnya:

  1. URL1: http://modrewriteexample.com/client.php?id=A786#234QA
  2. URL2: http://modrewriteexample.com/client/=A786#234QA/
  3. URL3: http://modrewriteexample.com/client/Martha/

Dari tiga contoh di atas, bisa dilihat dengan jelas kalau URL ketigalah yang akan lebih mudah dibaca dan dipahami oleh end user daripada URL pertama dan kedua. Inilah yang disebut sebagai clean URL.

Bagaimana Cara Setup Apache mod_rewrite di VPS Linux?

Sebelum lanjut ke bagian berikutnya, buatlah koneksi ke VPS dengan menggunakan SSH! Jika mengalami masalah, silakan cek tutorial PuTTY. Berikut langkah-langkah untuk setup Apache mod_rewrite:

1. Instal Apache

Untuk tutorial ini, kami akan menggunakan Ubuntu 18.04 yang di dalamnya terdapat package installer bawaan, yaitu apt-get. Sebelum menginstall Apache, perbaruilah package installer tersebut dengan menjalankan command ini:

sudo apt-get update

Setelah itu, dilanjutkan dengan menginstall Apache. Gunakan command berikut ini:

sudo apt-get install apache2

2. Aktifkan mod_rewrite

Untuk mengaktifkan mod_rewrite, jalankan command ini:

sudo a2enmod rewrite

Di samping untuk mengaktifkan mode rewrite, command di atas juga akan memberitahukan Anda kalau mode rewrite sudah siap digunakan. Selanjutnya, restart Apache:

sudo service apache2 restart

3. Buat file .htaccess

Tentukan rules URL rewrite terlebih dulu dengan menggunakan .htaccess. Di dalam file .htaccess, user dapat menulis semua rules yang dibutuhkan. File ini yang kemudian akan digunakan oleh server. Apabila ada kesalahan pada file tersebut, maka akan tercipta server error. Anda dapat mengubah rules rewrite kapan saja.

File .htacess harus dibuat di root untuk menguji fungsionalitas rewrite.

Jalankan command di bawah ini:

sudo nano /var/www/html/.htaccess

Fungsi command di atas adalah untuk membuat file .htaccess jika Anda belum memilikinya atau membuka file jika sudah dibuat. Untuk saat ini, Anda hanya perlu menyimpannya dan keluar dari file tersebut. Bila tool editor yang Anda gunakan adalah nano, maka cukup tekan CTRL+O untuk menyimpan file dan CTRL+X untuk keluar dari file.

Selanjutnya, buka file 000-default.conf yang tersimpan di direktori /etc/apache2/sites-enabled/ dengan menjalankan command berikut:

sudo nano /etc/apache2/sites-enabled/000-default.conf

Di dalam file tersebut, tambakan block di bawah ini setelah string <VirtualHost *:80>:

<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow, deny
allow from all
</Directory>

Simpan file dengan cara yang sama seperti menyimpan file .htaccess. Agar perubahan di atas dapat segera diterapkan, restart Apache dengan menggunakan command seperti di langkah nomor dua.

4. Rewrite URL

Rewrite URL pada dasarnya mengambil clean URL dan mengonversinya menjadi path aktual yang mengarah ke kode. Dengan syarat harus memiliki:

  • Rules rewrite yang telah ditentukan sebelumnya
  • Pola, yang berfungsi sebagai acuan untuk memastikan kecocokan dengan URL yang diberikan oleh user
  • Line yang di-rewrite untuk memanggil path yang dibutuhkan oleh server saat itu juga

Selanjutnya, buat rule rewrite yang akan mengarahkan user ke halaman About_us.html, apabila URL yang diminta adalah http://ip/Aboutus.

Pastikan perangkat rewrite sudah aktif agar rule rewrite berhasil dijalankan. Tambahkan command di bawah ini di awal file .htaccess.

RewriteEngine on

Sebagai contoh, berikut rule yang kami buat:

ReWriteRule ^About_us$ Aboutus.html [NC]

Sintaksnya mungkin sedikit membingungkan, mari uraikan:

  • Pada rule di atas, About_us adalah pattern yang ketika ditemukan dan dicocokkan akan diarahkan ke About_us.html
  • NC adalah flag yang menjadikan rule case tidak sensitif

^ menyatakan bahwa ada kecocokan terhadap teks yang muncul setelah alamat IP

Dua baris yang digabungkan akan terlihat seperti ini di file .htaccess:

ReWriteEngine on
ReWriteRule ^About_us$ Abouts_us.html [NC]

Selesai! Kini Anda sudah berhasil membuat rule Apache mod_rewrite.

Kesimpulan

URL yang user-friendly, clean, dan mudah dipahami oleh user berperan sangat penting terhadap kesuksesan sebuah website. Terlebih lagi, adanya keyword di URL juga sangat memengaruhi peringkat SEO! Untuk membuat URL tersebut, ada ratusan rule yang harus Anda tulis. Dan kini Anda sudah tahu cara memanipulasi alamat URL! Semoga dengan membaca tutorial ini, Anda bisa memanfaatkan kelebihan dan kegunaan Apache mod_rewrite. Sampai jumpa di tutorial selanjutnya!

Author
Penulis

Nadia Agatha

Nadia merupakan penerjemah lepas sejak 2016, kini ia menjadi penerjemah untuk Hostinger. Ia gemar membaca dan melakukan penelitian seputar penerjemahan dan sosiolinguistik. Disamping itu, ia juga suka bermain dengan kucingnya dan bercengkrama bersama teman-temannya di waktu senggang.