Zgodnie z manualem CI, aby pozbyć się z url'a "index.php" umieszczam w głównym katalogu plik .htaccess o treści
<?php RewriteEngine on RewriteCond $1 !^([a-zA-z0-9/]) RewriteRule ^(.*)$ index.php [L] RewriteCond $1 !^(index.php|images|robots.txt|system|user_guide) RewriteRule ^(.*)$ index.php/$1 [L] ?>
I wszystko działa, dopóki nie stworzę kontrolera "Admin" którego jedyną funkcją jest przekierowanie użytkownika do kontrolera "Admin" w katalogu "backend" - czyli do panelu administracyjnego.
Gdy to się dzieje, czyli:
<?php redirect('/backend/admin/index/', 'refresh'); ?>
w url'u znowu widzę index.php, wygląda tak: localhost/application/index.php/backend/security/form_login
Dlaczego tak się dzieje?
Czy da się to jakoś rozwiązać?