Eliminar el index.php de las URLs en CodeIgniter

Eliminar Index.php de las URL en CodeIgniter

Para eliminar el index.php de las urls de nuestro sitio web desarrollado en Codeigniter (lo que en la jerga se conoce como URLs Amigables!) y éstas tenga la forma: “www.MiSitio.com/nombre del controlador o sección de Codeigniter/función” , debemos modificar el archivo routes.php y agregar el .htaccess a nuestro servidor!

El resultado será que se vean como la siguiente:

http://misitio.com/index.php/welcome

Al comenzar con cualquier proyecto con el Framework PHP CodeIgniter, el controlador que se carga por defecto y ya viene creado es el Welcome.php y es al que se accede cuando ponemos nuestro nombre de dominio en el buscador, éste se encarga de cargar las vistas en HTML que veremos por defecto.

Primero, para eliminar index.php de las urls en codeigniter, debemos modificar el parámetro ‘index_page’ del archivo config.php de nuestro sitio, éste archivo lo encontramos destro de la carpeta application/config dentro de la estructura de nuestro proyecto Codeigniter. Deberia verse de la siguiente manera:

$config[‘index_page’] = ”;

Luego de modificar éste archivo y guardarlo, creamos el archivo .htaccess en la raíz de nuestro sitio y le agregamos las siguientes líneas.

En la línea RewriteBase debemos poner la ruta a nuestro sitio. En caso de ser el root del servidor, debemos ponerlo como se ve a continuación:

# PROGRAMERTECH

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /sitioweb
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /codeigniter/index.php
</IfModule>

Una vez echo esto, tenemos que asegurarnos que el modulo rewrite del servidor Apache donde tenemos corriendo nuestro sitio está cargado, y que en la configuración del sitio (archivo /etc/apache2/sites-enabled/000-default por defecto) tenemos el parámetro AllowOverride a all para nuestro root del servidor.

Si hemos hecho todo bien ahora deberiamos haber eliminado el index.php de Codeigniter:

Estás serían las URLs:

http://misitio.com/

http://misitio.com/welcome

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>