Контроллер по умолчанию в CodeIgniter - PullRequest
0 голосов
/ 06 апреля 2010

Мне интересно, есть ли другие параметры конфигурации для контроллера по умолчанию.

Например, если у меня есть контроллер с именем site, и я установил контроллер по умолчанию в следующем файле: application / config / rout.php:

$route['default_controller'] = "site";

Я должен быть в состоянии пойти на <a href="http://localhost" rel="nofollow noreferrer">http://localhost</a>, и это поднимает index(); функция в контроллере сайта.

Однако, если я попытаюсь перейти на <a href="http://localhost/index.php/index2" rel="nofollow noreferrer">http://localhost/index.php/index2</a>, чтобы загрузить функцию index2();, я получу ошибку 404. Если я изменю URL на http://localhost/index.php/site/index2, он будет работать нормально, но я подумал, что уже установил контроллер по умолчанию. Есть ли способ обойти это?

Ответы [ 3 ]

2 голосов
/ 06 апреля 2010

Единственный способ сделать это - вручную написать правило маршрутизации:

$route['index2'] = "site/index2";
0 голосов
/ 06 апреля 2010

Никакой CI не работает так, что первым параметром должно быть имя контроллера, поэтому в этом случае вам придется создать контролируемый элемент с именем index2.

0 голосов
/ 06 апреля 2010

Вы не можете сделать это.

Контроллер по умолчанию - только для URL без любого параметра URI.Как CodeIgniter может различать имя метода и имя контроллера?

Что вы можете сделать: определить перенаправление внутри документа 404 или напрямую сопоставить документ 404 с index.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...