Cara menghilangkan index.php pada Codeigniter

Ketika kali pertama menggunakan framework CodeIgniter untuk membuat sebuah aplikasi, pasti kita akan menemukan index.php pada setiap URLnya. Contohnya seperti ini:

domain.com/index.php/blog/judul-artikel

Hal ini sebenarnya tidak menjadi masalah, toh aplikasi yang kita buat tetap berjalan dengan normal. Tetapi akan terlihat lebih baik jika URL tersebut tanpa index.php.

Coba bandingkan URL yang ada dan tidak ada index.php nya.

domain.com/blog/judul-artikel

Terlihat lebih rapih dan bersih yang tanpa index.php bukan?

Untuk menghilangkan index.php pada URL Codeigniter, kita cukup menambahkan file .htaccess pada direktori root aplikasi serta mengaktifkan mod_rewrite pada server Apache.

Untuk pengguna sistem operasi Linux berbasis Debian, silakan aktifkan mod_rewrite dengan mengikuti panduan berikut: Tutorial mengaktifkan mod_rewrite Apache .

Untuk pengguna sistem operasi Windows langsung saja tambahkan file .htaccess ke folder root aplikasi.

Berikut tata cara membuat dan menambahkan file .htaccess:

  • Silakan buka text editor.
  • Kemudian buat file baru dan isi dengan kode di bawah ini:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
  • Simpan dengan nama .htaccess.
  • Tahap berikutnya silakan buka folder application -> config lalu edit file config.php.
  • Dalam file config.php cari kode:
$config['index_page'] = 'index.php';
  • Silakan hapus index.php sehingga menjadi seperti ini:
$config['index_page'] = '';
  • Kemudian simpan.

Dengan menerapkan cara di atas maka URL akan terlihat lebih bersih tanpa index.php.