CI: Контроллеры в подпапке - удаление подпапки из URL - PullRequest
0 голосов
/ 21 июня 2011

Я хочу сгруппировать свои контроллеры, представления и модели в подпапки public/ и members/.

Но для общего доступа я не хочу, чтобы / public / отображался в URL, поэтому:

http://mysite.com/ & http://mysite.com/section/

должен указывать на: / public / home & public / section /

Как мне изменить route.php, чтобы приспособиться к этому?


(Я в порядке с участниками / вещи, имеющие членов / в URL)

Ответы [ 3 ]

2 голосов
/ 21 июня 2011

Чтобы http://mysite.com/ указывал на /public/home, вам необходимо отметить public/home в качестве контроллера по умолчанию.Вам также нужно будет добавить определенный маршрут, чтобы http://mysite.com/section указывал на /public/section.Попробуйте это (регулярное выражение немного сомнительно, на мой взгляд, но может делать то, что вы хотите):

$route['default_controller'] = "public/home";
$route['section/(.*?)'] = "public/section/$1";
0 голосов
/ 04 мая 2013

Вам не нужно добавлять маршруты для каждого контроллера.

Это работает для меня:

$route['members'] = 'members'; // route members to members
$route['members/(.*?)'] = 'members/$1'; // route members/... to members/...
$route['(.*?)'] = 'public/$1'; // route anything but above lines to public/...

Первые две строки намеренно избыточны, чтобы защитить сегмент «участников» отнаправлено на «общественности».И третья строка делает волшебство.

0 голосов
/ 21 июня 2011

Пожалуйста, посмотрите, работает ли это для вас:

$route['section'] = "public/section";

Ваша страница индекса останется как public / index.php

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