2009-12-31 5 views
2

Я развиваюсь на Mac OSX с помощью MAMP. Мое приложение построено поверх CodeIgniter 1.7.2 и отлично работает на моей машине разработки.После развертывания на сервере codeigniter приложение дает 404

Теперь я скопировал в свою тестовую среду, которая является Ubuntu Server 9.10.

Стандартная, свежая установка CI прекрасно работает, но когда я помещаю свое приложение в тот же каталог, я получаю ошибки.

Если я просто зашел в свой корень, я получаю 404. На моей машине dev она также находится под корнем, а не в папке.

Если я использую полный путь, он работает, но я получаю ошибки, которые нельзя загрузить библиотекой и прочее.

Что происходит здесь: s

+0

2013 - это по-прежнему актуальна и ответ ниже по-прежнему работает. –

ответ

4

Я нашел его, кажется, контроллеры чувствительны к регистру (почему?)

Если мой URL является http://example.com/setcal/thefunction, но имя файла контроллер называется SetCal.php (и класс SetCal), то он не будет найден.

Я переименовываю файл и класс во все строчные буквы, и он отлично работает.

Я нахожу это странным. Разве мак (dev machine) не должен быть чувствителен к регистру?

И почему на земле есть чувствительность к регистру в первую очередь? В чем смысл?

+1

+2 В разделе Именование классов и методов в разделе «Общий стиль и синтаксис» Руководства пользователя CodeIgniter указано, что мы не должны использовать CamelCased для имен классов и функций. – Anthony

+0

Я могу сообщить, что эта проблема по-прежнему происходит на сервере MAMP Dev на CentOS Production. Январь 2015 года. – user3192649

0

Я предполагаю, что это, возможно, происходит из-за некоторые ошибки разрешения каталога. сделайте #ls -l и сравните разрешения как с вашим новым CI-файлом, так и с существующим проектом.

0

Я была такая же проблема

решение: config.php изменения строки

$config['index_page'] = 'index.php'; 
Смежные вопросы