Kohana и “No input file specified”



Работая с Kohana 3.0 без фронт-контроллера index.php внезапно столкнулся с ошибкой No input file specified.

Причём главная страница работала нормально, а чуть в глубь – не находит. Причём на локалке работало нормально, а на хостинге у клиента – не хочет!

Поскольку природу явления я не понял – юзал гугл. А гугл довольно быстро выдал мне, что у меня какие-то не такие настройки сервера на хостинге и в таком случае нужно колдовать с .htaccess

Первое рабочее решение предлагало заменить

1
RewriteRule .* index.php/$0 [PT]

на

1
RewriteRule ^(.*)$ index.php?$0 [L]

Действительно всё работало нормально. С той разницей, что теперь всё URI стало попадать в index.php в качестве параметра GET. Это однозначно поломало всю пагинацию, ибо она отродясь юзала GET.

Единственно рабочим решением которое позволило мне полностью забыть проблему – оказалось заменой той строки на

1
RewriteRule .* index.php [L]

Вот так вот. Просто и сердито. И работает.
Почему работает – меня не спрашивайте, для меня это магия.
Может кто-нибудь знающий даст комментарий?

Посты по теме:

  1. Kohana 3.0. Библиотека локализации i18n

Категории Не по теме |
автор: altesack / Суббота, Август 06, 2011 / 5 комментов »

5 комментов

    В кодигнайтере тоже эта проблема встречается. Приходится колдовать с .htaccess и конфигом наподобии
    $config['uri_protocol'] = “REQUEST_URI”; // для fastCGI

    > Почему работает – меня не спрашивайте, для меня это магия.
    > Может кто-нибудь знающий даст комментарий?

    потому же, почему и с index.php/$0 работало — сервер запускает index.php, а index.php парсит $_SERVER['REQUEST_URI']

    > RewriteRule ^(.*)$ index.php?$0 [L]

    не знаю как в отношении Kohana, но в общем случае — глупость неимоверная

    Эта глупость встречается в рекомендациях. Правда большинство из них либо относятся к Kohana 2, либо непонятно к чему относятся. Возможно народ просто цитирует

    Спасибо заработало!

    Та же ошибка выходила у меня при работе с сервером на debian.
    Странно как то все.

    Видимо все из-за fastcgi. Возникла такая же ошибка – пофиксил по рецепту автора. Спасибо!