CI: rimuovere “index.php” configurando .htaccess


Con l’installazione di default di CodeIgniter è possibile notare che l’unico modo per accedere ai controller che non siano il default implica la specifica di “index.php” fra l’URL Base ed il nome controller. Cioè:

http://localhost/index.php/mio_controller

Per evitare questo fastidioso comportamento, è necessario compiere due azioni. La prima riguarda il file “config/config.php“: individuato il riferimento nell’array $config della index_page occorre rimuovere il valore di default, index.php appunto.

$config['index_page'] = '';

La seconda azione riguarda la modifica (o creazione exnovo) del file “.htaccess”.

RewriteEngine On
RewriteCond $1 !^(index\.php|resources|assets|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
E’ ovvio che nel server Apache deve essere presente ed abilitata l’estensione RewriteEngine.

Lascia un commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>