Как удалить “index.php” в пути codeigniter

Я вспоминаю интервью одному из GoF, где кто-то спросил об общем заявлении, что шаблоны разработки являются инструментами для замены функций, которые отсутствуют в языке. Автор утверждал что A) любой язык имеет шаблоны разработки (не те же), так как шаблоны разработки являются инструментами, созданными для работы вокруг языка idiosynchrasies и B) не выполнимо избавиться от их потребности путем добавления большего количества опций на язык.

114
задан OrangeRind 18 September 2009 в 15:46
поделиться

4 ответа

Если вы используете Apache, поместите файл .htaccess в свой корневой веб-каталог, содержащий следующее:

RewriteEngine on
RewriteCond $1 !^(index\.php|[Javascript / CSS / Image root Folder name(s)]|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

Другая хорошая версия находится здесь:

http://snipplr.com/ view / 5966 / codeigniter-htaccess /

89
ответ дан 24 November 2019 в 02:32
поделиться

Посмотрите в файле system \ application \ config \ config.php , там есть переменная с именем index_page

Она должна выглядеть вот так

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

измените его на

$config['index_page'] = "";

Затем, как уже упоминалось, вам также необходимо добавить правило перезаписи в файл .htaccess

Примечание: в CodeIgniter v2 этот файл был перемещен из системной папки в application \ config \ config.php

21
ответ дан 24 November 2019 в 02:32
поделиться

Это .htaccess для одного из моих проектов CI:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt)
RewriteRule ^(.*)$ /projectFolder/index.php/$1 [L] 

Последняя строка должен дать вам то, что вам нужно, хотя вам может понадобиться или не понадобится '/ projectFolder' в зависимости от того, как настроена ваша структура папок. Удачи!

3
ответ дан 24 November 2019 в 02:32
поделиться

Используйте mod_rewrite , как указано в этом руководстве из вики CI.

3
ответ дан 24 November 2019 в 02:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: