Cacher le « index.php » dans l’URL

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