Home » Programmation Web » Framework » CodeIgniter : enlever le index.php de l’URL

CodeIgniter : enlever le index.php de l’URL

codeigniter-lgLe tutoriel d’aujourd’hui est plus une configuration qu’un tutoriel.

Quand on met en place un projet avec CodeIgniter (petit ou grand), vous verrez toujours l’URL contenir le célèbre index.php.

Pour enlever ce index.php, il suffit de faire une petite modification, qui ne prend même pas 5 minutes à faire. Il est simple, et comprend deux phases.

La première phase consiste à aller dans le fichier config.php du dossier application/config.
Changer le :

$config['index_page'] = 'index.php'

En :

$config['index_page'] = ''

Ensuite, pour l’uri_protocol, mettre une des variables suivantes :

$config['uri_protocol']    = 'REQUEST_URI';
$config['uri_protocol']    = 'AUTO';

La deuxième phase consiste à ajouter des règles dans le fichier .htaccess

RewriteEngine on
RewriteBase /
# Hide the application and system directories by redirecting the request to index.php
RewriteRule ^(application|system) ./index.php/$1 [L]
RewriteCond $1 !^(index\.php|assets/|documents/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Attention à la dernière ligne de ce fichier. Si la technique ne marche pas avec cette ligne, il faut faire en sorte que la logique ressemble à celle qui suit :

RewriteRule ^(.*)$ ici_les_fichiers_du projets/index.php/$1 [L]

Enjoy !

Posté dans Framework, Programmation Web

4 commentairess pour “CodeIgniter : enlever le index.php de l’URL

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.