Ir al contenido principal

Quitar el index php de codeigniter

Bueno hace un tiempo atrás mi equipo y yo tuvimos que crear un webservice y escogimos a Codeigniter como framework de trabajo, en ese entonces nos encontramos con muchos baches, pero la mayoría fueron solucionados y este es uno meramente estético.


¿Como quitar el index.php de Codeigniter?

Basicamente se trata de editar/crear dos archivos
  1. application/config/config.php
  2. crear un .htaccess que reescriba las reglas de Apache
En la primera parte solo debemos de modificar el archivo config.php

$config['index_page'] = 'index.php';
por algo como lo siguiente
$config['index_page'] = '';

Ahora creamos un archivo .htaccess a nivel de root de nuestra aplicacion, dejandolo como el siguiente

RewriteEngine on

#nombre de la carpeta, en este caso se llama prueba_index
RewriteBase /prueba_index
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
DirectoryIndex index.php
RewriteEngine on
#RewriteBase /
RewriteCond $1 !^(index\.php|assets|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?/$1 [L,QSA]
Bueno y eso ha sido todo el trabajo, ahora podemos acceder sin ese dichoso index.php a los controladores o URI que hayamos creado en route