Скрыть имя контроллера Codeigniter из URL с несколькими контроллерами - PullRequest
2 голосов
/ 16 февраля 2012

Я использую следующий код в моем rout.php, чтобы скрыть имя контроллера из структуры URL:

$route['(:any)'] = "auth/$1";

Это прекрасно работает, но моя проблема заключается в следующем: Когда я хочу получить доступ к другомуконтроллер, кажется, рассматривает его как функцию скрытого контроллера.

Так, например.У меня есть

http://mysite.com/controller1/somefunction

, который превращается в:

http://mysite.com/somefunction

Что, если я хочу получить доступ:

http://mysite.com/jsonfunction/anotherfunction/

Как я могу получить доступ к другому контроллеру, сохраняя при этомдругой спрятан?Я действительно не хочу, чтобы посетители видели http://mysite.com/maincontroller/, это просто избыточно!

1 Ответ

2 голосов
/ 16 февраля 2012

Боюсь, вам придется более конкретно определить маршруты. Вы все еще можете использовать:

$route['(:any)'] = "auth/$1";

Но, вероятно, он перейдет к кнопке вашего списка маршрутов.

если вы хотите, чтобы были добавлены другие маршруты, которые отменяют тот, который вам нужно будет разместить поверх них. Например, как это:

$route['login'] = "auth/login";
$route['varY'] = "controllerX/varY";
$route['varY/(:any)'] = "controllerX/varY/$1";
$route['foobar'] = "controller/method";
$route['(:any)'] = "auth/$1";

См. Этот документ для получения дополнительной информации и будущих ссылок: http://codeigniter.com/user_guide/general/routing.html

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