2012-02-12 2 views
0

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

# 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

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

class Backend extends CI_Controller { ... } 

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

public function index() { ... } 

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

+0

Странно, мне пришлось удалить комментарии из оригинального файла приветствия, чтобы он работал. Я собираюсь выбрать ваш ответ, потому что проблема решена. –

1

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

<IfModule mod_rewrite.c> 
RewriteEngine on 


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

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

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

Смежные вопросы