CodeIgniter removing index.php by mod_rewrite

Jika kamu sedang berusaha untuk menghapus index.php dari URL-nya CodeIgniter dari

http://localhost/index.php/welcome/index/

Menjadi

http://localhost/welcome/index/

Dan entah kenapa mendapat 500 Internal Server Error, maka inilah beberapa hal yang mesti kamu lakukan 🙂

THINGS TO CHECK

Apakah Apache mod_rewrite sudah menyala?

Kamu buka file httpd.conf (kalau di wamp biasanya terletak di C:\wamp\bin\apache\apache2.2.8\conf) atau coba search file itu di foldernya wamp/ xampp/phptriad kamu 🙂

Pastikan baris

LoadModule rewrite_module modules/mod_rewrite.so

Tidak dicomment (ga ada tanda # di-depannya)

Restart Apachemu 🙂 Masi 500 Error Kah? maka lanjut ke langkah selanjutnya.

Apakah config.php sudah benar

Buka file configmu

system/application/config/config/php

cari baris ini

$config[‘index_page’] = “index.php”;

Ganti index.php menjadi blank

$config[‘index_page’] = “”;

Coba refresh sitenya, Masi 500 error? next! 🙂

Apakah .htaccess sudah dibuat

CodeIgniter manual menyarankan kita untuk membuat file .htaccess di root foldernya CodeIgniter (di tempat dimana index.php berada) yang berisi syntax

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

syntax itu berlaku jika kamu menyimpan CodeIgniter kamu di lokasi root (/) dari web kamu, dan akan menyebabkan error jika kamu menyimpan CodeIgniter itu di folder tambahan. Coba modif syntax yang disarankan oleh CodeIgniter User Guide itu menjadi

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

Notice kalau aku menghilangan tanda (/) yep.. itu membuat CodeIgniter tidak menggunakan root (/) sebagai referensi, dan menggunakan lokasi relatif dimana .htaccess itu berada.

Well seharusnya jika kamu menggunakan Wamp, Xampp… setelah sampai ke tahap ini 500 Error itu tidak akan terjadi lagi 🙂




Advertisements

7 comments

  1. ikhsan · October 21, 2009

    masih tetap 500 Error walo smua langkah di atas dilakuin

    knp yah boss?

    • Eru · October 28, 2009

      Macem2 sih,
      mungkin belum reboot apachenya biar mod_rewrite ke-apply.

  2. ichanq · September 4, 2012

    its work to me thanks gan..
    untuk yg belom berhasil mungkin di restart allservice dulu wampnya

  3. ichanq · September 4, 2012

    tambahan aja kali bisa file .htacces di ganti ini:

    Options +FollowSymLinks
    Options -Indexes
    DirectoryIndex index.php
    RewriteEngine on
    RewriteCond $1 !^(index\.php|images|robots\.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L,QSA]

    godluck!

  4. Enzah · June 23, 2013

    kalau di cpanel x (online) bagaimana om?

    • Eru · July 19, 2013

      Kalau di Cpanel mostly mesti nyetting .htaccess nya aja, kalau pake .htaccess masih ga bisa – aga susah karena cpanel ga bisa setup kedalem-dalem (e.g. setting mod_rewrite)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s