En CodeIgniter tenemos la posibilidad de eliminar el index.pho de las URLs y con esto volver aún mas amigables y «limpias» las direcciones de las páginas de nuestra aplicación sobre la cual estamos trabajando, los pasos son los siguientes:
a) Verificar que tenemos activado mod_rewrite en el servidor web Apache.
Dicho modulo se encarga de construir una URL alternativa para nuestras direcciones dinámicas de tal forma que se vuelvan mas legibles y mejor indexadas por los buscadores, se apoya en un conjunto de reglas las cuales se almacenan en un archivo de configuración conocido como .htaccess.
b) Colocar en la raiz de nuestro proyecto un archivo .htaccess
con el siguiente contenido:
Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|styles|scripts|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
c) Abrir el archivo application/config/config.php
y remover el valor a la variable de configuración index_page:
$config['index_page'] = '';
Listo, ahora prueba accediendo a tu aplicación omitiendo index.php
en tus URLs:
Por ejemplo si antes utilizabas:
http://tudominio.com/aplicacion/index.php/clientes/registro
Ahora utiliza:
http://tudominio.com/aplicacion/clientes/registro
Fuentes:
http://codeigniter.com/user_guide/general/urls.html