Codeigniter 3.0 не работает на Bluehost

Когда я запускаю приложение Codeigniter 3.0 на локальном сервере, оно работает нормально. Однако, когда я загрузил его в Bluehost, он не работает.

Сам по себе Codeigniter работает, но я получаю Codeingiter 404, а не Apache 404 - страница получает стиль и т. Д. И т. Д.

Я думаю, что проблема связана с Codeigniter 3.0 и Bluehost, так как я загрузил 2 разных приложения в BH.

Когда я использую Codeigniter 2.x, все работает нормально.

2 ответа

Решение

Начиная с 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]
Другие вопросы по тегам