Menghilangkan index.php pada URL CodeIgniter

20 07 2009

“Oy Website lw pake CI ya ?!”, gara-gara index.php di URL langsung deh ketauan!. Sewaktu instal CI otomatis url aplikasi kita kira-kira bentuknya akan menjelma menjadi seperti ini:http://localhost/NamaAplikasi/index.php/NamaController

Sepertinya aplikasi terlihat kurang keren ya karena ada embel-embel index.php, Pasti orang yang mengakses langsung tahu bahwa itu pake CI. Setelah blog walking saya coba sarikan langkah-langkah untuk menghilangkan index.php agar URL terlihat lebih bersih

Langkah 1:
Pastikan module mod_rewrite pada apache sudah diload. Jika belum aktifkan dahulu, caranya sebagai berikut :

Edit  file httpd.conf Apache2 kamu , uncomment/tambahkan baris ini (biasanya ada di bagian Dynamic Shared Objects):LoadModule rewrite_module modules/mod_rewrite.soSesuaikan pathnya dengan tempat dimana modul apache2 disimpan. Pada contoh di atas dianggap mod_rewrite.so terletak di /usr/lib/apache2/modules, pada windows biasanya cukup uncomment saja, kemudian restart apache2 kamu.

Langkah 2:
Buka  system/application/config/config.php,  set parameter index file menjadi kosong.
$config['index_page'] = "";

Langkah 3:
Buat sebuah file .htaccess pada root directory code igniter (sejajar dengan index.php, /database, /public, /system )  isikan file tersebut dengan aturan ini:RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Sekarang coba akses aplikasi kamu tanpa index.php, misalnya:
http://localhost/Aplikasiku/SomeController  “EXPECTO PATRONUM!” , jengjeng…😀

Keterangan:

RewriteEngine On
Mengaktifkan engine Rewrite (engine untuk pola penulisan ulang pada URL)

RewriteCond %{REQUEST_FILENAME} !-f
Test, apakah file (-f ) yang diminta pada url  {REQUEST_FILENAME} tidak  (!) eksis.

RewriteCond %{REQUEST_FILENAME} !-d
Test, apakah direktori (-d) yang diminta pada url tidak (!) eksis.

RewriteRule ^(.*)$ index.php/$1 [L]
Bila kedua kondisi di atas (RewriteCond) terpenuhi maka terapkan aturan ini. Kita minta tolong sama apache agar menyisipkan kata index.php sebelum URI terakhir.

Misalnya kita merequest “SomeController” pada:
http://localhost/Aplikasiku/SomeController,

setelah di terapkan RewriteRule maka bentuk URL akan dirubah menjadi :
http://localhost/Aplikasiku/index.php/SomeController

Referensi:
http://dragadu.blogspot.com/2009_01_01_archive.html
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html


Aksi

Information

10 responses

29 09 2009
jreng jreng

bos kalo di windows ku coba kok ra iso yo? carana bgimana???

21 10 2009
ikhsan

masih error bro,,

knp yahm padaha udah gw ikutin semua petunjuknya

9 12 2009
ar raudy

insyaAllah bisa. saya sudah cobakan di windows. coba cek lagi..

1 01 2010
TNZ

matur nuwun kang,.,,,

25 02 2010
nezz

sipp…sekarang dah bisa.. Makasih yaa

19 03 2010
24 10 2010
getzet

bingung yang langkah ke 3

“… Buat sebuah file .htaccess pada root directory code igniter (sejajar dengan index.php, /database, /public, /system ) isikan file tersebut dengan aturan ini: …”

maksud nya giman sih bang???

9 05 2011
Brain90

Maksudnya .htaccessnya ditaruh di root Apps kita say…
sejajar dengan index.php /database, /public, dan /system

24 03 2011
adi

thx gan atas tutorialnya…langsung bisa🙂

9 05 2011
Brain90

Sama-sama gan…

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s




%d blogger menyukai ini: