Мне удалось запустить контроллер по умолчанию из подкаталога, добавив файл MY_Router в application / core, все работает нормально, но это то, с чем я сталкиваюсь сейчас. Я не могу направить его, если URL-адрес нажимает / admin или / student или / teacher, который в конце концов подкаталог в контроллерах.
https://s14.postimg.org/pr3ta38f5/controller_structure.png
https://s14.postimg.org/z05zk7hb5/error_1.png
https://s14.postimg.org/mmt5darmp/issue_2.png
https://s14.postimg.org/kwa4bta3l/page_controller.png
https://s14.postimg.org/j5voo2hy9/routes.png
Если у вас структура папок такая:
- controllers
- teachers
- Teacher_home.php
- students
- Student_home.php
- admin
- Admin_home.php
Тогда обычная CI-маршрутизация будет с URL-адресами для метода индекса по умолчанию будет выглядеть так:
mysite/teachers/teacher_home
mysite/students/student_home
mysite/admin/admin_home
Затем ваши маршруты могут указывать mysite / teacher_home на соответствующий контроллер, описанный выше:
$route['teacher_home'] = 'teachers/teacher_home';
В документах CI описываются подстановочные знаки, которые вы можете использовать: http://www.codeigniter.com/user_guide/general/routing.html
Но любой маршрут должен указывать на действительный URL-адрес контроллера / метода. Сделайте так, чтобы ваш сайт / приложение работали под обычной маршрутизацией по умолчанию, затем добавьте альтернативную маршрутизацию.
Так что удалите свои текущие маршруты. Если у вас есть маршрут по умолчанию, он, вероятно, испортит ваши другие маршруты, если вы не написали его правильно или в неправильном порядке.
Надеюсь, это поможет,
Других решений пока нет …