Когда я запускаю приложение Codeigniter 3.0 на локальном сервере, оно работает нормально. Однако, когда я загрузил его в Bluehost, он не работает.
Сам по себе Codeigniter работает, но я получаю Codeingiter 404, а не Apache 404 — страница получает стиль и т. Д. И т. Д.
Я думаю, что проблема связана с Codeigniter 3.0 и Bluehost, так как я загрузил 2 разных приложения в BH.
Когда я использую Codeigniter 2.x, все работает нормально.
Начиная с CodeIgniter 3.0, все имена файлов классов (библиотеки, драйверы, контроллеры и модели) должны быть названы в виде Ucfirst типа манере или другими словами — они должны начинаться с Заглавная буква.
Контроллеры:
application/controllers/welcome.php
в application/controllers/Welcome.php
Модели:
application/models/misc_model.php
в application/models/Misc_model.php
Источник: Преобразование имен файлов классов в CodeIgniter
Заметка что это НЕ влияет на каталоги, файлы конфигурации, представления, помощники, хуки и все остальное — это применяется только к классам.
Теперь вы должны следовать просто одно простое правило — имена классов в Ucfirst и все остальное в нижнем регистре.
а также .htaccess
должно быть
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Я надеюсь, что следующий .htaccess будет работать для вас:
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]