Главная страница Codeigniter не найдена - PullRequest
0 голосов
/ 27 мая 2018

У меня проблема с моим проектом CI на моем сервере Linux (в Windows Wamp нет проблем), в моем проекте все маршруты работают нормально, кроме главной страницы (адрес http://example.com без строки запроса), чтопоказывает ошибку 404.вот мои конфиги: htaccess:

DirectoryIndex index.php
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA] 
Options -Indexes
php_flag output_buffering On

мой rout.php:

$route['default_controller'] = 'index';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['index'] = 'index/index';
$route['/'] = 'index/index'; // i have controller index.php and action index for first page that load with address example.com/index/index

мой config.php:

$config['base_url'] = 'http://example.com';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO'; //and  "REQUEST_URI" both tested.

любая помощь будет оценена.

1 Ответ

0 голосов
/ 27 мая 2018

Эта проблема "она работает в Windows, но не в Linux" почти всегда из-за неправильного именования файлов.Похоже, ваш класс default_controller называется index.И имя файла, и объявление класса ДОЛЖНЫ использовать первый символ в верхнем регистре.

Другими словами, файл должен быть Index.php (обратите внимание на верхний регистр I )и объявление должно быть

class Index extends CI_Controller

Опять же, обратите внимание на верхний регистр «I» в Индексе.

Все это говорит, В CodeIgniter четко указано, что контроллер должен НЕ иметь имя Индекс . Итак, выберите другое имя .

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