CodeIgniter is basically MVC framework in which all controller logic called through index.php file.
It’s look odd in url. To remove index.php, following are simple steps:
1) Create a .htaccess file :
.htaccess file used for server level routing in website.
Example: If you hit sometestexample.com, it will work like following url: sometestexample/index.php
To remove index.php, put the following code in .htaccess file
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
Now you need to change in configuration
$config['index_page'] = "index.php";
to
$config['index_page'] = "";
Now you need to restart the server to reflect new changes. That’s all!