Menghilangkan index.php di URL CodeIgniter

FrameWork CodeIgniter secara default memiliki format URL sebagai berikut :

example.com/index.php/news/article/my_article

Perhatikan pada bentuk url diatas, terdapat index.php yang mutlak harus anda sebut setiap membuat sebuah link dengan tag <a href””> atau setiap anda mengisi attribut action pada komponen form.

Melihat bentuk seperti tersebut terlihat nampak tidak begitu cantik dan terlihat begitu familiar bahwa aplikasi web yang dibangun menggunakan FrameWork CodeIgniter.

Berdasarkan User Guide-nya, anda bisa menghilangkan dengan cara membuat file membuat file .htaccess dengan isi sebagai berikut :


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

Tetapi berdasarkan pengalaman penulis, cara diatas malah menyebabkan Internal Server Error, sebagai solusinya  adalah sebagai berikut :

1. buat file .htaccess seperti berikut :

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

2. Edit file config.php di folder application config, ubah baris :

$config['index_page'] = 'index.php';

menjadi

$config['index_page'] = '';

3. Sebagai latihan silahkan download file contohnya !

Download file project

Post a Comment

Previous Post Next Post