Par défaut, les URLs d’une application sur Yii Framework affichent « index.php ». Voici comment le cacher.
Pour commencer, il faut que le mod_rewrite de PHP soit actif. Pour l’activer, il faut ouvrir le fichier httpd.conf et changer la ligne
#LoadModule rewrite_module modules/mod_rewrite.so
en
LoadModule rewrite_module modules/mod_rewrite.so
Ensuite, il faut créer un fichier .htaccess au même niveu que le fichier index.php.
Il faut y mettre :
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\?*$ index.php/$1 [L,QSA]
Si cela ne fonctionne pas, essayer avec :
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
Finalement, il faut ajouter la ligne « ‘showScriptName’=>false, » dans le fichier de configuration main.php comme suite :
'urlManager'=>array( 'urlFormat'=>'path', 'showScriptName'=>false, //'caseSensitive'=>false, ),
Normalement, le tour est joué!
Enjoy