htaccess

Membuat dan Macam-Macam Pretty URL dengan .htaccess

0

URL (Uniform Resource Locator) adalah alamat yang digunakan untuk mengakses suatu halaman atau sumber daya di internet. Saat menjelajahi web, Anda mungkin telah melihat URL yang panjang, berisi banyak parameter, dan sulit diingat. Namun, dengan menggunakan teknik yang disebut “Pretty URL”, kita dapat membuat URL yang lebih bersih, informatif, dan mudah diingat.

Pada artikel ini, kita akan membahas tentang “Pretty URL” dan bagaimana cara membuatnya menggunakan file .htaccess. Selain itu, kita juga akan melihat beberapa macam-macam pretty URL yang umum digunakan. Mari kita mulai!

Apa itu Pretty URL?

Pretty URL, juga dikenal sebagai “clean URL” atau “SEO-friendly URL”, adalah URL yang mudah dibaca oleh manusia dan mengandung informasi yang relevan tentang halaman atau sumber daya yang diakses. Dalam Pretty URL, parameter dan karakter khusus seperti tanda tanya (?) dan tanda sama dengan (=) dihilangkan, sehingga membuat URL menjadi lebih sederhana dan mudah diingat.

Contoh Pretty URL:

  • Original URL: https://contohwebsite.com/artikel.php?id=123
  • Pretty URL: https://contohwebsite.com/artikel/123

Dalam contoh di atas, kita mengganti URL dengan Pretty URL yang lebih singkat dan menggambarkan konten dari halaman tersebut.

Menggunakan .htaccess untuk Membuat Pretty URL

File .htaccess adalah file konfigurasi yang digunakan pada server web Apache untuk mengatur berbagai pengaturan dan aturan. Salah satu penggunaan umum dari file .htaccess adalah untuk membuat Pretty URL.

Langkah 1: Aktifkan RewriteEngine

Pertama, pastikan Anda telah mengaktifkan modul mod_rewrite di server Apache Anda. Jika modul ini belum diaktifkan, Anda dapat mengaktifkannya dengan menghapus tanda pagar (#) di depan perintah berikut di file konfigurasi httpd.conf:

LoadModule rewrite_module modules/mod_rewrite.so

Langkah 2: Buat File .htaccess

Selanjutnya, buat file .htaccess di direktori root proyek Anda atau di direktori tempat file yang ingin Anda terapkan Pretty URL.

Langkah 3: Tulis Aturan Rewrite

Di dalam file .htaccess, Anda dapat menulis aturan rewrite untuk mengubah URL menjadi Pretty URL. Berikut adalah contoh aturan rewrite dasar:

RewriteEngine On
RewriteRule ^pretty-url$ original-url.php [NC,L]

Penjelasan Kode:

  • RewriteEngine On: Menyatakan bahwa RewriteEngine aktif dan aturan rewrite akan diterapkan.
  • RewriteRule: Menyatakan aturan rewrite. Pada contoh di atas, aturan tersebut akan mengubah Pretty URL /pretty-url menjadi /original-url.php.
  • ^pretty-url$: Pola regex yang akan dicocokkan dengan URL. Dalam contoh di atas, pola ini akan cocok dengan URL yang berisi “/pretty-url” (tanpa garis miring di depan atau belakangnya).
  • original-url.php: URL asli atau file yang akan diakses saat Pretty URL terpenuhi.
  • [NC,L]: Opsi tambahan untuk aturan rewrite. [NC] mengabaikan perbedaan antara huruf besar dan huruf kecil dalam pola regex, dan [L] menunjukkan bahwa ini adalah aturan terakhir yang akan dievaluasi jika cocok.

Langkah 4: Tes Pretty URL

Setelah aturan rewrite ditulis, Anda dapat mencoba mengakses Pretty URL di browser Anda. Misalnya, jika Anda mengakses /pretty-url, server Apache akan secara otomatis mengarahkan Anda ke /original-url.php.

Macam-Macam Pretty URL

Selain aturan rewrite dasar yang telah kita bahas di atas, ada beberapa macam-macam pretty URL yang umum digunakan:

  1. Pretty URL dengan Parameter Tunggal:
RewriteRule ^category/([^/]+)/?$ index.php?category=$1 [NC,L]

Penjelasan Kode:

  • Pola ^category/([^/]+)/?$ akan cocok dengan URL seperti /category/berita.
  • Parameter ([^/]+) akan menangkap nilai kategori dan mengirimkannya ke skrip sebagai $_GET['category'].
  1. Pretty URL dengan Parameter Ganda:
RewriteRule ^article/([^/]+)/([^/]+)/?$ article.php?category=$1&id=$2 [NC,L]
RewriteRule ^article/([^/]+)/([^/]+)/?$ article.php?category=$1&id=$2 [NC,L]

Penjelasan Kode:

  • Pola ^article/([^/]+)/([^/]+)/?$ akan cocok dengan URL seperti /article/berita/123.
  • Parameter ([^/]+) akan menangkap nilai kategori dan ID artikel dan mengirimkannya ke skrip sebagai $_GET['category'] dan $_GET['id'].
  1. Pretty URL dengan Sub-Direktori:
RewriteRule ^products/([^/]+)/?$ products/$1.php [NC,L]

Penjelasan Kode:

  • Pola ^products/([^/]+)/?$ akan cocok dengan URL seperti /products/handphone.
  • Aturan ini akan mengarahkan permintaan ke file /products/handphone.php.
  1. Pretty URL untuk Penyimpanan Gambar:
RewriteRule ^images/([^/]+)/([^/]+)/?$ images/$1/$2 [NC,L]

Penjelasan Kode:

  • Pola ^images/([^/]+)/([^/]+)/?$ akan cocok dengan URL seperti /images/produk/gambar1.jpg.
  • Aturan ini akan mengarahkan permintaan ke file gambar di direktori /images/produk/gambar1.jpg.
  1. Pretty URL dengan Tanda Pisah Bervariasi:
RewriteRule ^post_([0-9]+)/?$ post.php?id=$1 [NC,L]

Penjelasan Kode:

  • Pola ^post_([0-9]+)/?$ akan cocok dengan URL seperti /post_123.
  • Aturan ini akan mengirimkan nilai ID ke skrip sebagai $_GET['id'].
  1. Pretty URL untuk Halaman Pagination:
RewriteRule ^page/([0-9]+)/?$ index.php?page=$1 [NC,L]

Penjelasan Kode:

  • Pola ^page/([0-9]+)/?$ akan cocok dengan URL seperti /page/2.
  • Aturan ini akan mengirimkan nomor halaman ke skrip sebagai $_GET['page'].
  1. Pretty URL dengan Tanda Hubung dan Underscore:
RewriteRule ^category-([^/]+)/?$ index.php?category=$1 [NC,L]

Penjelasan Kode:

  • Pola ^category-([^/]+)/?$ akan cocok dengan URL seperti /category-berita.
  • Aturan ini akan mengirimkan nilai kategori ke skrip sebagai $_GET['category'].
  1. Pretty URL dengan Tanda Titik:
RewriteRule ^profile/([a-zA-Z0-9._-]+)/?$ profile.php?username=$1 [NC,L]

Penjelasan Kode:

  • Pola ^profile/([a-zA-Z0-9._-]+)/?$ akan cocok dengan URL seperti /profile/johndoe.
  • Aturan ini akan mengirimkan nilai username ke skrip sebagai $_GET['username'].
  1. Pretty URL dengan Query String:
RewriteCond %{QUERY_STRING} ^name=([^&]+)&age=([^&]+)$
RewriteRule ^user/$ user.php?name=%1&age=%2 [NC,L]

Penjelasan Kode:

  • RewriteCond digunakan untuk mencocokkan pola query string yang berisi name dan age.
  • RewriteRule akan mengirimkan nilai name dan age ke skrip sebagai $_GET['name'] dan $_GET['age'].
  1. Pretty URL dengan Redirect Permanen:
RewriteRule ^old-page$ /new-page [R=301,L]

Penjelasan Kode:

  • Pola ^old-page$ akan cocok dengan URL seperti /old-page.
  • Aturan ini akan mengarahkan permintaan dari /old-page ke /new-page dengan status redirect permanen (301).
  1. Pretty URL untuk Hapus Ekstensi:
RewriteRule ^blog/([^\.]+)$ blog/$1.php [NC,L]

Penjelasan Kode:

  • Pola ^blog/([^\.]+)$ akan cocok dengan URL seperti /blog/post1.
  • Aturan ini akan mengarahkan permintaan dari /blog/post1 ke /blog/post1.php.
  1. Pretty URL untuk Bahasa:
RewriteRule ^en/page1/?$ page1.php?lang=en [NC,L]
RewriteRule ^fr/page1/?$ page1.php?lang=fr [NC,L]

Penjelasan Kode:

  • Aturan pertama akan cocok dengan URL seperti /en/page1 dan mengirimkan parameter lang sebagai en.
  • Aturan kedua akan cocok dengan URL seperti /fr/page1 dan mengirimkan parameter lang sebagai fr.
  1. Pretty URL untuk Tanggal:
RewriteRule ^archives/([0-9]{4})/([0-9]{2})/([0-9]{2})/?$ archives.php?year=$1&month=$2&day=$3 [NC,L]

Penjelasan Kode:

  • Pola ^archives/([0-9]{4})/([0-9]{2})/([0-9]{2})/?$ akan cocok dengan URL seperti /archives/2023/07/18.
  • Aturan ini akan mengirimkan nilai tahun, bulan, dan tanggal ke skrip sebagai $_GET['year'], $_GET['month'], dan $_GET['day'].
  1. Pretty URL dengan URL Bersarang:
RewriteRule ^category/([^/]+)/post/([0-9]+)/?$ index.php?category=$1&post=$2 [NC,L]

Penjelasan Kode:

  • Pola ^category/([^/]+)/post/([0-9]+)/?$ akan cocok dengan URL seperti /category/berita/post/123.
  • Aturan ini akan mengirimkan nilai kategori dan ID pos ke skrip sebagai $_GET['category'] dan $_GET['post'].
  1. Pretty URL untuk Redirect ke Halaman Lain:
RewriteRule ^old-url$ http://example.com/new-url [R=301,L]

Penjelasan Kode:

  • Pola ^old-url$ akan cocok dengan URL seperti /old-url.
  • Aturan ini akan mengarahkan permintaan dari /old-url ke http://example.com/new-url dengan status redirect permanen (301).

Penutup

Pretty URL adalah teknik yang sangat berguna dalam meningkatkan kualitas URL dan memperbaiki pengalaman pengguna di website Anda. Dengan menggunakan file .htaccess dan aturan rewrite yang tepat, Anda dapat dengan mudah membuat URL yang lebih bersih, informatif, dan mudah diingat.

Dalam artikel ini, kita telah mempelajari cara membuat berbagai jenis Pretty URL, mulai dari parameter tunggal hingga URL bersarang. Selain itu, kita juga telah membahas bagaimana menggunakan .htaccess untuk mengimplementasikan aturan rewrite yang berbeda.

Semoga artikel ini bermanfaat dan membantu Anda dalam menciptakan URL yang lebih menarik dan SEO-friendly untuk website Anda. Selamat mencoba!

rajakode

Membuat Plagiarism Checker dengan Google API pada Python

Previous article

Kompress Ukuran Gambar dengan PHP, Cara Mengoptimalkan Gambar untuk Web

Next article