Проблема маршрутизации Codeigniter 3.1.0

Мне удалось запустить контроллер по умолчанию из подкаталога, добавив файл MY_Router в application/core, все работает нормально, но это то, с чем я сталкиваюсь сейчас. в конечном итоге подкаталог в контроллерах.

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

person MysticalSam    schedule 10.09.2016    source источник
comment
как выглядит ваш MY_Router? также не могли бы вы просто поместить свой контроллер в подкаталог и указать, что делать это с вашего маршрутизатора по умолчанию? $route['default_controller'] = 'каталог/контроллер/метод';   -  person Mehrad    schedule 10.09.2016
comment
stackoverflow.com/questions/34808054/ Вот код MY_Router.php   -  person MysticalSam    schedule 10.09.2016


Ответы (1)


Если ваша структура папок такова:

- 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-адрес контроллера/метода. Заставьте ваш сайт/приложение работать с обычной маршрутизацией по умолчанию, а затем добавьте альтернативную маршрутизацию.

Так что удалите ваши текущие маршруты. Если у вас есть маршрут по умолчанию, он, вероятно, испортит ваши другие маршруты, если вы не написали их правильно или в правильном порядке.

Надеюсь, это поможет,

person PaulD    schedule 10.09.2016