Blog Posts » Umum » Tutorial Mudah .htaccess [Part 1]

Tutorial Mudah .htaccess [Part 1]

File .htaccess yang canggih ini kelihatannya masih jarang dimanfaatkan oleh sebagian besar wap/webmaster. Untuk itu saya akan mencoba share bagi yang masih bingung mengoprek .htaccess. :)

Pada tutorial kali ini kita akan membahas regex (Regular Expressions) di .htaccess. Apa itu regex? Regex adalah sebuah ekspresi atau pola yang digunakan untuk mencocokkan (mencari) dan memanipulasi string. Regex sudah terintegrasi dengan sempurna di beberapa bahasa pemprograman seperti Perl dan Ruby. Berbeda dengan C++, Java, .NET, PHP, Python, dll yang masih membutuhkan modul/library tambahan seperti PCRE (Perl Compatible Regular Expressions) agar bisa menjalankan fungsi regex. :)

Oke, sebelumnya mari kita hafalkan dulu meta regex:
( dan ) -> pengelompokkan pola
| -> pemilihan. a|b|c akan cocok dengan salah satu dari a, b, atau c
[ dan ] -> pengkelasan karakter. [a-z] akan cocok dengan semua huruf kecil, [^0-9] menyatakan "bukan angka", [a-z0-9] akan cocok dengan semua huruf kecil dan angka
^ -> pencocokan diawal string. ^kat akan cocok dengan kata, kategori, dll
? optional, artinya boleh ada boleh tidak. tu(lis)?an akan cocok dengan tulisan atau tuan
. -> cocok dengan satu karakter apapun. .. akan cocok dengan karakter apapun tetapi hanya dua, dst
+ -> berjumlah satu atau lebih
* -> berjumlah nol atau lebih
$ -> pecocokan di akhir string. ml$ akan cocok dengan html, xml, dll
\ -> escape. digunakan jika pencocokan menggunakan karakter yang merupakan anggota meta regex. misal untuk mencocokan titik maka ditulis dengan \.
Agar lebih jelas silahkan cermati dan pahami contoh-contoh dibawah ini:
Contoh 1
Mengganti (menyembunyikan) ekstensi file. Misal index.php akan kita ganti dengan index.html:
[Textarea][RAW][Download]

  1. RewriteEngine on 
  2. RewriteRule ^(.+)\.html$ $1.php [NC,L]

Keterangan:
- RewriteEngine on: mengaktifkan RewriteEngine
- RewriteRule: pengaturan atau rule. (.+) di ruas kiri sama dengan $1 di ruas kanan
- NC: No Case atau tidak sensitif
- L: mengakhiri RewriteRule
Contoh 2
Membuat URL yang ramah SEO:
[Textarea][RAW][Download]

  1. RewriteEngine on 
  2. RewriteRule ^kategori/([0-9]*)/halaman/([0-9]*)/?$ kategori.php?id=$1&p=$2 [NC,L]

Keterangan:
Misal http://domain.com/kategori/100/halaman/3 akan sama dengan http://domain.com/kategori.php?id=100&p=3 , dsb

Sampai disini dulu semoga bisa mencerahkan. Insya Allah akan saya lanjutkan di tutorial berikutnya. Selamat bereksperimen. :d