Эта проблема "она работает в Windows, но не в Linux" почти всегда из-за неправильного именования файлов.Похоже, ваш класс default_controller называется index.И имя файла, и объявление класса ДОЛЖНЫ использовать первый символ в верхнем регистре.
Другими словами, файл должен быть Index.php (обратите внимание на верхний регистр I )и объявление должно быть
class Index extends CI_Controller
Опять же, обратите внимание на верхний регистр «I» в Индексе.
Все это говорит, В CodeIgniter четко указано, что контроллер должен НЕ иметь имя Индекс . Итак, выберите другое имя .