How to remove controller name from url making it clean in codeigniter

Yousuf Memon picture Yousuf Memon · Oct 12, 2012 · Viewed 21.6k times · Source

I have the following url..

http://localhost/ci/site_controller/home

I want to remove site_controller controller from url resulting in..

 http://localhost/ci/home

How can I do this in CodeIgniter ?

Note: If you'll ask what I've tried than I've just done searching over Google as I don't know how to use mod_rewrite.

EDIT

I have this in my routes.php

$route['default_controller'] = "site_controller/home";
$route['ci/home'] = 'ci/site_controller/home';
$route['404_override'] = '';

but still not working!

.htaccess

RewriteEngine On
RewriteBase /ci/
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]

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

ErrorDocument 404 /index.php

Answer

Catfish picture Catfish · Oct 12, 2012

You can set your a route for each url:

In your config/routes.php file, just set each page like this:

$route['ci/home'] = "ci/site_controller/home";