249 views

in Codeigniter

URI Segment dan Menghilangkan Index.php Pada CodeIgniter

Spread the love

Pada artikel sebelumnya kita sudah membuat file controller dengan nama Percobaan.php

Untuk memanggil atau menampilkan file controler tersebut pada browser kita bisa mengetikan url


http://localhost/myweb/index.php/Percobaan/index

Sekarang kita coba liat struktur penulisan url di atas
localhost adalah nama alamat server
myweb adalah nama projek
index.php adalah nama controller default CI
Percobaan adalah nama controller/class (URI segmen 1)
index adalah nama function/method dalam controller (URI segmen 2)

Kalau kita lihat penulisan di atas, terasa terlalu panjang. Untuk mempersingkat penulisannya, kita bisa menghilangkan index.php pada url diatas agar lebih simpel. Sehingga hasilnya menjadi :

http://localhost/myweb/Percobaan/index

Ikuti langkah-langkah berikut.
Pertama, buat file baru pada folder projek kita (myweb) dengan nama file .htaccess lalu isikan sintaks berikut.

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

Kedua, rubah settingan rewrite module pada apache dengan mengetikan perintah berikut pada terminal

sudo nano /etc/apache2/apache2.conf

Kemudian rubah menjadi seperti ini.

Selanjutnya aktifkan rewrite module apache dengan mengetikan perintah berikut pada terminal.

sudo a2enmod rewrite

Restart apache nya agar efek settingan yang kita buat dapat berjalan.

sudo service apache2 restart

Untuk melihat berhasil atau tidak cobalah buka browser dan ketikan url

http://localhost/myweb/Percobaan/index