Untuk menghilangkan index.php pada url web. Yang diperlukan adalah .htacess yang melakukan rewrite dari url tersebut.
file .htaccess nya adalah sebagai berikut disimpan pada (base_path_CI)/
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /belajar RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$ /index.php/$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule>
Lalu ubah (base_path_CI)/system/application/config/config.php pada bagian
$config['index_page'] = ""; //index.php dihilangkan
maka index.php hilang pada url.
Kalau kita melakukan paging kita selalu menuliskan config paging kita seperti ini
<?php CLASS Nama EXTENDS Controller{ function index($page=0){ $this->load->model('nama_model'); $this->load->library('pagination'); $this->load->helper('url'); /**/ $config['base_url'] = base_url().'nama/index/'; //pada bagian ini kita harus menuliskan index (atau nama function dari sebuah controller) $config['total_rows'] = $this->db->count_all_results('nama_orang'); $config['per_page']= 5; $config['cur_page']= $page; $this->pagination->initialize($config); /**/ $data['nama'] = $this->nama_model->get_nama($config['per_page'],$this->uri->segment(3)); $this->load->view('nama_view',$data); } } ?>
untuk menghilangkan index/ pada base_url maka kita harus menambahkan baris pada (base_path_CI)/system/application/config/route.php menjadi
$route['nama/(:num)'] = "nama/index/$1" ;
dengan begini maka base_url kita menjadi
$config['base_url'] = base_url().'nama/';
cara ini juga bisa diterapkan untuk hal lain selain index/ untuk lebih jelas kegunaannya bisa dibaca di user guide CI di bagian URI Routing
Sekian de
Semoga Bermanfaat
CMIIW,
ajaring