[eluser]avramovic[/eluser]
Probably since not everybody have mod_rewrite support enabled by default. However, I have made simple modification that uses another server extension, mod_env, to set environment variable if mod_rewrite is enabled and then config/config.php automatically hides index.php if that environment variable is set.
.htaccess
Code:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(index\.php|images|application|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
<IfModule mod_env.c>
SetEnv SEO_URLS 1
</IfModule>
</IfModule>
And in config.php
Code:
if (isset($_SERVER['SEO_URLS']))
$config['index_page'] = '';
else
$config['index_page'] = 'index.php';
Now besides mod_rewrite it requires mod_env also, however if mod_env is not available you can manually hide index.php, but so far on all servers I've tested this, if mod_rewrite AND mod_env were present, it worked flawlessly!