Login
Modifikasi URL CodeIgniter sesuka hati

Modifikasi URL CodeIgniter sesuka hati

Tujuan dari modifikasi URL ini adalah:

- Mempercantik tampilan URL website.
- Merahasiakan nama Class dan atau nama function.

Contoh controllernya :

class Member extends CI_Controller {

  function user($username)
  {
  echo "Username : ".$username;
  }
}

URL default CodeIgniter : "http://ibacor.com/index.php/member/user/ican"


A. Menghilangkan "index.php"

Buat file ".htaccess" atau tambahkan jika sudah ada, di dalam folder project codeigniter anda

<IfModule mod_rewrite.c>
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteEngine on
     #RewriteBase /myproject
   RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

Jika project anda berada di dalam subdirectory misalnya "myproject" maka tambahkan "RewriteBase /myproject" atau dengan menghilangkan tanda pagar pada kode di atas.

URL yang dihasilkan adalah : "http://ibacor.com/member/user/ican"


B. Mengubah/merahasiakan nama Class dan atau nama functio

Buka file config/routes.php kemudian tambahkan kode berikut:

$route['profile/(:any)'] = 'member/user/$1';

URL yang dihasilkan adalah : "http://ibacor.com/profile/ican"


C. Menambah ".html" pada setiap akhir URL

Buka file config/config.php kemudian cari pada bagian URL Suffix

$config['url_suffix'] = '.html';

Pastikan link URL yang anda buat menggunakan helper url atau anchor()

contoh : echo anchor('profile/ican');

URL yang dihasilkan adalah : "http://ibacor.com/profile/ican.html"


Sumber:  
http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/
http://ellislab.com/codeigniter/user-guide