No input file specified + CodeIgniter

четверг, 24 мая 2012 г.

Раньше у меня php работал как модуль Apache, а после обновления до версии 5.3.9 пришлось его заставить работать в режиме FastCGI и внезапно для себя понял, что при открытии некоторых проектов на локальном компьютере я получаю надпись No input file specified.


Все свои веб проекты я разрабатываю на фреймворке CodeIgniter (3.0-dev), а там используется MVC архитектура приложения. Так что решение оказалось довольно простое - без изменения конфигов самого фреймворка. В htaccess пишем:

#обработка url через index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

<IfModule mod_php5.c>
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

<IfModule !mod_php5.c>
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

Разница в "?".

Если есть вопросы - прошу в комментарии.

3 коммент.:

samizdam комментирует...

То что нужно. Спасибо!
И насколько CI 3 юзабелен? Очень мало в сети информации по 3.0 находиться, такое ощущение, что разработка заглохла.

Vitaliy Fust комментирует...

Использую у себя примерно такие правила



RewriteEngine on
RewriteCond $1 !^(index\.php|favicon\.ico|robots\.txt|images|js|css|photos|files|news)
RewriteRule ^(.*)$ index.php?/$1 [L]



Скажите, а почему вообще нужен вопросительный знак?

GIN комментирует...

Vitaliy, знаете, все настолько привыкли к этому трюку с ?, что уже и не вспомнить, что именно за ним стоит.

Copyright © 2010 WEB IT blog