Я вспоминаю интервью одному из GoF, где кто-то спросил об общем заявлении, что шаблоны разработки являются инструментами для замены функций, которые отсутствуют в языке. Автор утверждал что A) любой язык имеет шаблоны разработки (не те же), так как шаблоны разработки являются инструментами, созданными для работы вокруг языка idiosynchrasies и B) не выполнимо избавиться от их потребности путем добавления большего количества опций на язык.
Если вы используете Apache, поместите файл .htaccess в свой корневой веб-каталог, содержащий следующее:
RewriteEngine on
RewriteCond $1 !^(index\.php|[Javascript / CSS / Image root Folder name(s)]|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Другая хорошая версия находится здесь:
Посмотрите в файле system \ application \ config \ config.php
, там есть переменная с именем index_page
Она должна выглядеть вот так
$config['index_page'] = "index.php";
измените его на
$config['index_page'] = "";
Затем, как уже упоминалось, вам также необходимо добавить правило перезаписи в файл .htaccess
Примечание: в CodeIgniter v2 этот файл был перемещен из системной папки в application \ config \ config.php
Это .htaccess для одного из моих проектов CI:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt)
RewriteRule ^(.*)$ /projectFolder/index.php/$1 [L]
Последняя строка должен дать вам то, что вам нужно, хотя вам может понадобиться или не понадобится '/ projectFolder' в зависимости от того, как настроена ваша структура папок. Удачи!
Используйте mod_rewrite
, как указано в этом руководстве из вики CI.