Tutorial kali ini saya buat untuk menjawab pertanyaan dari seorang teman di ilmuwebsite.com yang menanyakan cara membuat alamat website seperti ilmuwebsite.
contoh:
http://ilmuwebsite.com/gb/2/
metode pembuatan alamat website seperti diatas bisa kita dapatkan dengan cara memanipulasi setting webserver yang kita punya, yaitu dengan mengedit file http.conf di direktori server. tujuannya agar webserver kita menampilkan alamat website hasil modifikasi kita ke dalam address bar pada browser kita.
Yang akan saya contohkan disini http://localhost/index.php?hal=ilmuwebsite menjadi http://localhost/ilmuwebsite/
saya akan terlebih dahulu menjelaskan beberapa kelebihan dan kekurangan dari penggunaan metode ini, tapi menurut saya metode cukup efektif untukdigunakan dan saya rekomendasikan.
Memiliki kelebihan:
- tidak perlu mengubah script dan susunan direktori kita, kita langsung bisa menggunakannya hanya dengan menambahkan sebuah file .htaccess pada direktori utama website kita (direktori utama website bukan berarti root direktori server, walaupun kita berada sebagai sub-direktori kita masih dapat menggunakannya, tetapi dengan syarat & ketentuan yang akan saya jelaskan dibawah ini).
- sekuriti yang menjamin, anda dapat melihat contoh diatas, pada http://localhost/ilmuwebsite/ kita membuat seakan-akan kita mempunyai sebuah direktori bernama ilmuwebsite, yang sebenarnya kita tidak punya, hal ini dapatmengacaukan orang yang ingin macam-macam dengan website kita
- struktur addressnya friendly bagi google, maksudnya struktur alamat seperticontoh diatas (http://localhost/ilmuwebsite/) lebih mudah diterima olehGOOGLE daripada kita menggunakan banyak menggunakan variabel GET padaalamat website (http://localhost/index.php?hal=ilmuwebsite). Hal ini sangat membantu apabila kita sedang mempelajari SEO
- semualinknya harus berupa absolute link, baik itu untuk image maupun file eksternalnya, maksudnya apabila anda biasanya menggunakan relatif linkseperti:
atau
../../image/file.jpg
maka link seperti ini tidak akan bekerja pada metodeini, anda harus mengubahnya dengan:
http://[host-anda]/image/file.jpg
atau
http://[host-anda]/[path]/image/file.jpg
link diatas disebut absolute link. untuk membuat auto absolute link, saya akan jelaskan pada file
autopath.php dibawah.
- tidaksemua server mengaktifkan settingan ini, atau anda bisa menghubungi server yang anda gunakan agar mereka dapat mengaktifkannya, tetapi andaharus menjelaskan tujuan anda agar mereka mempercayai anda.
okey, saya rasa cukup. Jangan kebanyakan
langsung saja saya jelaskan, metode ini menggunakan mod_rewrite.so pada modulephp, sebelumnya anda harus mengedit file bernama httpd.conf pada direktori server anda, di
C:\Program Files\xampp\apache\conf\httpd.conf
(saya memakai XAMPP 1.6.0a basic, direktori anda bisa berbeda dengan saya)
buka file http.conf dengan wordpad atau notepad kemudian pada baris
#LoadModule rewrite_module modules/mod_rewrite.so
hilangkan tanda (#) hingga menjadi
LoadModule rewrite_module modules/mod_rewrite.so
save,kemudian restart webserver anda, lalu buka phpinfo(), pada bagian apache2handler akan muncul tulisan mod_rewrite seperti pada milik sayadi bawah ini.
iniberarti mod_rewrite telah aktif. jika belum ada tulisan mod_rewrite,berarti anda harus memeriksa ulang httpd.conf anda atau restart lagiwebserver anda.
sekarang anda tinggal menggunakannya, mungkin bagian ini agak rumit, tetapi saya akan mencoba menjelaskannya sesimpelmungkin. buat sebuah file bernama .htaccess, di dalamnya tuliskan script seperti ini:
RewriteEngine On
RewriteRule ^/?([A-Za-z]+)/?$ index.php?hal=$1 [L]
Penjelasan | |
RewriteRule | : perintah untuk membuat rule baru |
^ | : awal rule |
[A-Za-z] | : memasukkan syarat rule ->mengijinkan karakter a-z (not case-sensitive) |
tanda + | : karakter tersebut boleh lebihdari 1 |
/ | : menambahkan tanda "/"pada akhir url |
? | : mengijinkan url tanpa "/" di akhirannya(ex:http://ilmuwebsite/ OR http://ilmuwebsite) |
$ | : akhir rule |
index.php?hal=$1 | : kondisi yang akan dirubah |
$1 | : rule yang akan ditampilkan dengan syarat [A-Za-z] |
[L] | : apache menghentikan evaluasi jika kondisi terpenuhi. |
simpan file diatas, setelah itu buat 3 buah file php,
pertama index.php, yang isinya:
Checking...ilmuwebsite
if ($_GET['hal']=="ilmuwebsite") { include 'greetz.php'; } ?>
kedua autopath.php, isinya:
function path($end) {
$alamat=$_SERVER['PHP_SELF'];
//mengubah variabel $alamat menjadi array
$address=explode("/",$alamat);
//mengambil array terakhir dari $address
$endaddress=end($address);
//menghilangkan path terakhir pada $alamat
$_RESULT=str_replace("$endaddress","",$alamat);
//menampilkan path lengkap dan mengganti path akhir sesuai kebutuhan
echo $_SERVER['HTTP_HOST'],$_RESULT,$end;
}
?>
terakhir greetz.php, isinya:
greetz to:
- b_scorpio
- loka
- phii
- ivan
- minang media
- dr.emi
from,
safril@ilmuwebsite.com
simpan masing-masing file sesuai dengan namanya, jika anda benar maka struktur direktori anda akan sama seperti milik saya seperti dibawah ini:
*pada direktori diatas sebenarnya terdapat file .htaccess tetapi tidak ditampilkan.
pembuatan file selesai..
sekarang saatnya mencoba dan melihat apa yang berubah?
jalankan scriptnya..
klik pada link bertuliskan "ilmuwebsite", setelah tereksekusi lihat pada address bar nya, akan tampak seperti ini:
tampak biasa bukan??
sekarang buka script index.php, lalu anda rubah :
ilmuwebsite
menjadi,
ilmuwebsite
save, sekarang ulangi dari awal dengan kembali ke halaman index.php, kemudian tekan linknya lagi..
apa yang terjadi? sekarang linknya berubah menjadi
bagaimana bisa??
Dengan rule pada file .htaccess yang telah kita atur tadi kita dapat mengatur bagaimana tampilan pada address bar kita. Mudah bukan??
Untuk teman kita yang bertanya, inilah jawabannya.. sengaja saya sharing agar teman-teman ilmuwebsite yang lain tidak ketinggalan berita
selamat berkarya & semoga bermanfaat...
untuk download file-nya disini
No comments:
Post a Comment