File .htaccess merupakan file teks biasa, cara membuatnya gunakan text editor seperti winsyntax atau notepad++. Walaupun .htaccess hanyalah sebuah file, tapi .htaccess dapat merubah setting yang ada di server dan mengijinkan anda untuk melakukan banyak hal yang berbeda, sebagai contoh adalah dengan menggunakan .htaccess anda dapat membuat halaman 404 anda sendiri. .htaccess tidaklah sulit untuk di gunakan karena hanya perlu menaruh beberapa instruksi yang mudah dalam sebuah text file yang kemudian di simpan dengan nama .htaccess .
Berikut beberapa fungsi dari .htaccess
- Mem-proteksi Folder / Melindungi Folder dengan password
- Mengalihkan pengunjung website anda dengan otomatis
- Membuat halaman pesan tampilan error anda sendiri
- Menolak pengunjung dengan IP Address tertentu
- Merubah extensi file anda
- Hanya mengijinkan pengunjung dengan IP Address tertentu
- Mengijinkan/Menolak list direktori
Ketik pada text editor anda kode berikut:
RewriteEngine On
RewriteBase /situsberita/
RewriteRule ^berita([0-9]+)-(.*)\.html$ selengkapnya.php?id=$1
lalu simpan dengan nama .htaccess, pada contoh di atas saya menyimpan file .htaccess di folder situsberita yang berada di document root anda.
Jadi pada contoh berikut kita akan membuat situs berita, di mana file file situs berita kita taruh di folder yang kita beri nama situs berita, sehingga kalau anda buka di browser urlny adalah: http://localhost/situsberita
Keterangan kode:
- RewriteEngine On, Mengaktifkan RewriteEngine
- RewriteBase /situsberita/, karena kita menaruh file .htaccess di folder situsberita dan url yang akan di-rewrite adalah http://localhost/situsberita/
Jika anda ingin me-rewrite http://localhost/ makan kodenya RewriteBase /
- RewriteRule, berguna untuk mecari pola url dan jika ketemu akan mereplacenya dengan url yang kita inginkan.
Sintaks:
RewriteRule pola_URL <spasi> URL_pengganti
- pola_URL, menggunakan regex
- ^berita([0-9]+)-(.*)\.html$, artinya cari pola url yang diawali tulisan berita, kemudian ada angka kemudian diikuti strip tengah (-) kemudian ada karakter atau tulisan apapun, diakhiri dengan .html
akan cocok dengan berita12-bla-blabla.html, berita233-terserah-tulisan-apa-disini.html, dan lainnya
Meta Karakter |
Definisi |
Contoh |
^ |
Pencocokan di awal string |
^hai akan cocok dengan haiii, haiapakabar |
$ |
Pencocokan di akhir string |
tes$ akan cocok dengan pantes, kates |
. |
Cocok dengan satu karakter apapun |
|
* |
Berjumlah 0 atau lebih |
|
+ |
Berjumlah 1 atau lebih |
|
( ) |
Pengelompokkan pola |
|
[ ] |
Pendefinisian kelas karakter |
[0-9] akan cocok dengan angka
[a-z] akan cocok dengan huruf kecil
[^a-z] bukan huruf kecil |
\ |
Escaping karakter, berguna bila ingin mencocokkan karakter, tetapi karakter tersebut merupakan anggota meta karakter |
Ingin mencocokkan titik, maka kode regexnya adala \. |
- (silahkan pelajari tentang regular expression)
- selengkapnya.php?id=$1, adalah url pengganti jika ditemukan pola di atas. $1 adalah pola yang cocok yang ditemukan dalam pengelompokan pola. Pengelompokan pola ada pola yang berada di antara ( dan )
Pada pola regex di atas:
$1 adalah ([0-9]+)
$2 adalah (.*)