Steps to remove index.php from url codeigniter:
Config changes: Go to “application/config/config.php”
Find below code:
$config['index_page'] = 'index.php';
Replace with the below code:
$config['index_page'] = '';
.htaccess changes: If you not have any htaccess create new and place it on your root.
Note: if you have codeigniter in subdirectory change RewriteBase / to RewriteBase /subdir/
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index.php|resources|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
Now open your site pages you will found clean url with no index.php. so your all url looks like http://example.com/controller/method. Now any of HTTP request for index.php will be treated as a request for your index.php file.
If still issue: Need to apply one more config changes.
Go to “application/config/config.php”
Find below code
$config['uri_protocol'] = 'AUTO';
Replace with the below code
$config['uri_protocol'] = 'REQUEST_URI';
Now you have fully done to remove index.php from url codeigniter and getting clean url in codeigniter.