CodeIgniter новый контроллер не найден? - PullRequest
0 голосов
/ 12 февраля 2012

Я установил последний CodeIgniter и скопировал welcome.php в backend.php и изменил переменную класса на Backend, однако когда я захожу в / backend, он говорит, что контроллер не найден.Содержимое моего .htaccess выглядит следующим образом.

# Do not remove this line, otherwise mod_rewrite rules will stop working
RewriteBase /
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [QSA,L]

Я также пытался изменить метод uri для запроса uri, но проблема та же.

Контроллер индекса работает, но небэкэнд, который был создан из индекса.(Welcome.php)

Ответы [ 2 ]

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

Проверьте, является ли имя класса, определенное в backend.php, Backend:

class Backend extends CI_Controller { ... }

Убедитесь, что у вас есть метод index (действие по умолчанию) в контроллере Backend:

 public function index() { ... }

PS: Вы также можете создать новый каталог backend и поместить в него ВСЕ необходимые контроллеры в бэкэнд.Это облегчит работу, если у вас будут сложные функции в области бэкэнда.

1 голос
/ 02 января 2014

Вам понадобится файл htaccess, в котором записано следующее.

<IfModule mod_rewrite.c>
RewriteEngine on


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

Проблема в том, что доступ к контроллеру можно получить, добавив / index в URL, а затем имя контроллера.

Поэтому для устранения этой проблемы вам необходим файл htaccess.

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