Home > Menengah > Web Development > Tutorial PHP > Membuat URL Mod Rewrite Part 1 – http conf

.

2 Komentar Untuk Artikel Ini BYAdmin Ilmuwebsite

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://www.ilmuwebsite.com/

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://www.ilmuwebsite.com/ 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://www.ilmuwebsite.com/) 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 :)

sedangkan kekurangannya:

  • semualinknya harus berupa absolute link, baik itu untuk image maupun file eksternalnya, maksudnya apabila anda biasanya menggunakan relatif linkseperti:?

??? ??? ../image/file.jpg
??? ??? 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:

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteRule ^/?([A-Za-z]+)/?$ index.php?hal=$1 [L]

</IfModule>

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:

<? include ‘autopath.php’ ?>
<pre>

Checking…
<a href=”http://<? path(‘index.php?hal=ilmuwebsite’) ?>”>
<h3>ilmuwebsite</h3>
</a>

<?php
if ($_GET[‘hal’]==”ilmuwebsite”) {
??? include ‘greetz.php’;
}
?>
</pre>

kedua autopath.php, isinya:

<?php
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 :

<a href=”http://<? path(‘index.php?hal=ilmuwebsite’) ?>”>
<h3>ilmuwebsite</h3>
</a>

menjadi,

<a href=”http://<? path(‘ilmuwebsite/’) ?>”><h3>ilmuwebsite</h3></a>

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

salam,
safril@ilmuwebsite.com

DVD Video Tutorial : Kursus Web Development Komplit Bangun 5 Project Aplikasi Website - Membuat CMS Sendiri Dari Nol, Blog, Portal Berita, Ecommerce, Web Komunitas dengan CodeIgniter 3 JQuery AJAX Bootstrap

Video Tutorial Kursus Web Development Komplit Bangun 5 Project Website ini merupakan ‘penunjuk arah’ agar Anda yang sedang maupun baru akan terjun ke dalam dunia web development yang lebih mendalam memiliki peta perjalanan pembelajaran yang lebih terarah menuju web developer professional. (Disertai pembelajaran dasar HTML CSS, JQuery, PHP & MySQL, CodeIgniter) Dibuat oleh praktisi yang memiliki pengalaman lebih dari 10 tahun di bidang web development (Pemesanan bisa SMS/WA ke 0813 1167 5785, atau bisa pesan secara online di sini)



2 Response untuk Artikel Ini

  1. Khantry

    Salam..

    Mas kalau untuk form caranya gemana ya??
    kok saya gagal terus ya.. saya mohon untuk buat tutorial .htaccess untuk hasil submit form

    Makasih..


  2. […] Untuk lebih jelasnya dapat dilihat disini : http://www.ilmuwebsite.com/tutorial-php/membuat-url-mod-rewrite-part-1-http-conf […]


eXTReMe Tracker