CodeIgniter – Quitar index.php de la url
Para poder trabajar bien las url amigables en CodeIgniter, debemos quitar el index.php que sale por defecto cuando navegas por la aplicación. Empecemos con el artículo CodeIgniter – Quitar index.php de la url
Para ello, debemos modificar dos ficheros:
Cuando navegamos por nuestra aplicación creada con CodeIgniter, podemos observar que la url contiene el index.php
www.midominio.com/index.php/contactar
Cuando lo que queremos es una url así (sin el index.php):
www.midominio.com/contactar
Para ello debemos modificar dos ficheros:
.htaccess
Hay que añadir las siguientes linias al fichero .htaccess que hay en la raiz de la aplicación:
<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> ErrorDocument 404 /index.php </IfModule>
Vigilad que alguna de las linias puede ser que ya las tengáis. Y debéis tener en cuenta que modificar el .htaccess puede hacer que la web deje de funcionar.
application/config/config.php
Hay que quitar el index.php de la variable index-page. Por defecto está así:
$config['index_page'] = 'index.php';
Y debe quedar así:
$config['index_page'] = '';
En algunas ocasiones no funciona
En algunas ocasiones, los pasos anteriores no funcionan, por lo que tendremos que cambiar del config.php lo siguiente:
$config['uri_protocol'] ="AUTO" por $config['uri_protocol'] = "REQUEST_URI"
Si aún así no funciona, en algunos servidores necesitaremos cambiar la última línia que hemos pueto en el .htacces
RewriteRule ^(.*)$ index.php/$1 [L] por RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
Con estas dos modificaciones, ya deberías poder navegar por tu aplicación sin el index.php
Espero que os sea de utilidad el artículo CodeIgniter – Quitar index.php de la url
Algunos enlaces que os pueden ayudar:
No me funciona
Hola Dani,
prueba también de cambiar lo siguiente del config.php
$config[‘uri_protocol’] =»AUTO»
por
$config[‘uri_protocol’] = «REQUEST_URI»