sábado, 21 de enero de 2017

Codeigniter mod_rewrite

La primer entrada del año 2017.

Entrando en el mundo de los Framework PHP encontré a Codeigniter. Me ha gustado por que no se necesita usar el dichoso "Composer" (como en Laravel o Zend Framework), solo se copia la carpeta al localhost y a trabajar.

Bueno, parte de este trabajo esta en hacer que se pueda modificar las URL del proyecto haciendo que esto:  http://proyecto/index.php/controlador/funcion/id a http://proyecto/controlador/funcion/id. Encontré varios recursos en internet donde habla sobre ello. Para mi caso (que aún no empiezo a probar las actualizaciones en PHP7) esta es la configuración de mi server:

- Sistema Operativo  : Ubuntu Server 12.10 LTS
- Servidor                  : Apache 2.0
- Versión PHP           : 5.3.1
- Versión Framework: Codeigniter 2.2

Tengo que reconocer que demore cerca de dos horas probando una y otra configuración que aparecía en cuanto blog o página hay en Internet sobre el tema.

Finalmente me quedé con lo que se encuentra en el siguiente blog:

https://sonidolibre.wordpress.com/2008/04/18/activar-mod_rewrite-de-apache2-en-ubuntu/

Y el archivo .htaccess que va en la misma altura del archivo index.php del framework lo deje así:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^ index.php [QSA,NC,L]

Por último hay que cambiar el arhivo config.php del proyecto, NO del core del framework, es decir en la ruta /proyecto/config/config.php en la línea que dice: $config['index_page'] = 'index.php'; a $config['index_page'] = '';

PD: La flama es del logo de Codeigniter Framework.