Kohana и «No input file specified»

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

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

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

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

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

на

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

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

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

RewriteRule .* index.php [L]

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

Kohana и «No input file specified»: 5 комментариев

  1. Вадим

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

  2. SunChaser

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

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

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

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

  3. altesack Автор записи

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

  4. trsteep

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

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

  5. Mr.Developer

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

Комментарии запрещены.