Archivo de 14 noviembre 2009|Página de archivo por mes

Caso “URL limpia de CodeIgniter” para Linux, SOLUCIONADO

Hoy en día, somos muchos los desarrolladores que disfrutamos de las bondades de este muy buen framework, pero siempre se ha tenido el problema para quitar esa porcion de url “index.php” de nuestros proyectos.

Bien, pues luego de investigar, buscar y preguntar… y demas cosas, encontre un modo de retirar ese “index.php”, el cual lo trabaje en una distro de Linux.

Pues comencemos:

  • Como sabran, se necesita activar el mod_rewrite en la configuracion de nuestro servidor Apache. Pues se puede hacer manualmente accediendo al archivo de configuracion o simplemente ejecutando el siguiente comando:   sudo a2enmod rewrite
  • Una vez activado el mod_rewrite, procederemos a quitar las restricciones en el archivo:  sudo gedit /etc/apache2/site-enable/000-default , donde reemplazaremos todos los “AllowOverride None” por “AllowOverride All“.
  • Una vez terminado esto, procedemos a reiniciar el servicio de Apache con: sudo /etc/init.d/apache2 restart .
  • Si al reiniciar el servicio de Apache, por casualidad les aparece mensaje como: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName , no se preocupen, se soluciona agregando la siguiente linea: ServerName localhost en el apache2.conf.
  • Es hora de comprobar que en nuestro archivo de configuracion  ”system/application/config/config.php” , esté ya modificado la opcion del index page, de modo que quede así:  $config['index_page'] = “”;
  • Ahora viene lo más importante, y es crear un archivo: .htaccess con el siguiente contenido, en la carpeta donde se encuentra nuestro proyecto, es decir donde se encuentra la carpeta “system”:

        ErrorDocument 404 /index.php

        DirectoryIndex index.php.

        <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php/$1 [L,QSA]
        </IfModule>

Y con esto ya tenemos podemos trabajar sin el poco querido: index.php , es decir, si nuestra url era: http://localhost/proyecto/index.php/controlador ahora sera simplemente http://localhost/proyecto/controlador.

Espero les haya servido este post, ya saben que cualquier consulta, pueden hacerla dejandonos un comentario, y nosotros gustosamente responderemos. Gracias.

Seguir

Get every new post delivered to your Inbox.