Home >Backend Development >PHP Tutorial >Why Aren't My CodeIgniter URLs Removing 'index.php' Despite Using mod_rewrite?
Removing index.php from CodeIgniter URLs
Your goal is to eliminate "index.php" from your CodeIgniter URLs, but despite enabling mod_rewrite, setting $config['index_page'] to '', and implementing the provided .htaccess code, the issue persists. Let's investigate the potential causes.
To begin, ensure that mod_rewrite is enabled in your Apache2 server configuration and that the $config['index_page'] variable in config.php is empty:
$config['index_page'] = "";
Next, verify that your root .htaccess file contains the following code:
RewriteEngine on RewriteCond !^(index\.php|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/ [L,QSA]
Note that .htaccess code may vary depending on your hosting server. In some cases, an additional "?" may be required at the end of the last line:
RewriteRule ^(.*)$ index.php?/ [L,QSA]
If the previous steps fail to resolve the issue, try the following:
The above is the detailed content of Why Aren't My CodeIgniter URLs Removing 'index.php' Despite Using mod_rewrite?. For more information, please follow other related articles on the PHP Chinese website!