URLs limpias en Yii Framework

| 2013-04-17 | No hay comentarios »

Una cuestión importante a tener en cuenta es tener URLs limpias que sean amigables ya que esto principalmente ayuda a tener un mejor SEO y también puede servir de mucho a un usuario común para recordarse de urls que visitó.

Yii de manera predeterminada crea enlaces de la siguiente manera:

/index.php?r=controlador/vista

Pero que estos se pueden mejorar poniendo las propiedades del componente urlManager, a lo cual los enlaces quedarían así:

/controlador/vista

Crear un .htaccess en la carpeta del proyecto con el siguiente código:


RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php


Vamos a /protected/config/main.php y en el arreglo component agregamos:

'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'caseSensitive'=>false,
),

Con esto hemos limpiado las URLs de nuestro sistema, si nuestros controladores contienen mayúsculas es necesario colocar el atributo ‘caseSensitive’ en true.
Nota:
1- Tener activado el módulo mod_rewrite para que funcionen las URLs limpias.
2- En linux, específicamente apache2 por omisión no permite los .htaccess personalizados por lo que es necesario modificar el archivo de /etc/apache2/sites-available/default hay que ubicar la línea AllowOverride que inicialmente trae el valor none.

<directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

Acerca del autor: Rodrigo Paszniuk

Ingeniero Informático, amante de la tecnología, la música, el ciclismo y aprender cosas nuevas.

Posts Relacionados

  • Phalcon – Framework PHP – Extensión de C
  • Reportes gráficos en Yii
  • Backup en Yii
  • Manual intermedio de Yii framework (PHP)



SEGUÍNOS EN FACEBOOK


GITHUB