Закончилась моя суточная эпопея с Kohana, когда я пытался всего лишь работать с контроллером по имени Index. Проблема заключалась в том, что когда я заходил по адресу http://somesite.ru/kohana/index/save с надеждой, что выполнится контроллер index, метод save я получал ошибку о том, что мол страницы save-то и не существует. Особенно странно было то, что эта ошибка проявлялась только на рабочем сервере под Debian. Сначала я стал дебажить роутинг Коханы, но докопавшись до самых глубин, выяснилось, что Apache отдает неверный параметр сервера PATH_INFO, вместо 'index/save', в роутинг передавался просто 'save', и это уже трактовалось как контроллер. Я перепроверил на всех доступных мне shared хостингах, везде все было в порядке, кроме рабочего сервера.
Ладно, подумал я, и переустановил Apache. Но проблема не решилась. Ладно, снова подумал я, и включил unstable пакеты и установил распоследний Apache, но проблема по прежнему не решилась. Вот тут я уже стал впадать в панику. А я вам скажу, что было уже утро следующего дня, как я обнаружил проблему. Просмотрев конфиги Апача я не нашел ничего криминального. Я грешил уже и на mod_rewrite, и на Debian, и на все подряд.
Почти отчаявшись, я стал разбирать Апач по кусочкам, выключив все модули, кроме mod_rewite и mod_php. И вот тут все заработало. Выяснилось, что mod_negotitation считал, что раз я напрямую не указал index.php в URI, значит я ошибся. И милостливо переписывал имя контроллера index в index.php.
Проблема решилась выключением этого злополучного модуля. Потрачено почти сутки времени и килограмм нервов.









