This .htaccess rule is to remove the index.php file in CodeIgniter URLS.There is an example on how to remove this on the CodeIgniter User Guide but unfortunately it somehow doesn’t work.Anyway, here’s how to do it:
Put this code on your .htaccess file,changing “directory_on_where_is_your_CI” in which your CodeIgniter application resides.
If your CI application is in the root, just remove “directory_on_where_is_your_CI/” .
RewriteEngine On
RewriteBase /directory_on_where_is_your_CI/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /directory_on_where_is_your_CI/index.php/$1 [L]
Put the .htaccess file on the root if your CodeIgniter application,where the system/ folder resides.To test if it is working try removing the index.php file in the URL.
example.com/index.php/news/article/my_article
can be
example.com/news/article/my_article
but produces the same output.













4 Responses to How to remove index.php in CodeIgniter (URL rewriting)
Suresh
November 27th, 2009 at 9:38 am
Thank you. working fine
admin
November 27th, 2009 at 9:43 am
no problem,mate
adzcer
January 22nd, 2010 at 12:44 pm
Thanks kabayan!
admin
January 22nd, 2010 at 1:48 pm
No problem!