Uno de los inconvenientes de CodeIgniter es el sufijo index.php que se le debe agregar a la url para tener host/index.php/controlador/accion, ese sufij es molesto tanto para que google indexe la pagina, para solucionar esto debemos crear o reemplazar el contenido del archivo .htaccess es importante tener habilitado el mod_rewrite e indicarle al vitualHost que leea los archivos .htaccess, aqui el codigo del archivo:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
# If we don’t have mod_rewrite installed, all 404’s
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin
ErrorDocument 404 /index.php
</IfModule>
Ahora cambiar la variable del archivo de configuracin de CodeIgniter
$config[‘index_page’] = "index.php";
Por:
$config[‘index_page’] = "";
con esto nuestra url queda host.cntrolador/accion