Мое приложение Kohana 3 использует довольно много параметров $_GET. Однако, когда я развернул приложение, я получил пустую страницу только с текстом «Не указан входной файл». Я быстро нашел решение этой, казалось бы, распространенной проблемы, изменив в своем файле .htaccess:
RewriteRule .* index.php/$0 [PT,L]
to
RewriteRule .* index.php?$0 [PT,L]
Однако теперь мой массив $_GET потерял все переданные параметры. Любая страница, не требующая $_GET, работает нормально. Я не слишком хорошо разбираюсь в файлах .htaccess, но, насколько я могу судить, добавление ? заменил массив $_GET на uri.
я тоже пробовал
RewriteRule .* index.php/?$0 [PT,L]
а также
RewriteRule .* index.php?/$0 [PT,L]
но безрезультатно.
Ниже приведен мой файл .htaccess полностью (в основном такой же, как example.htaccess)
# Turn on URL rewriting
RewriteEngine On
# Installation directory
RewriteBase /
# Protect hidden files from being viewed
<Files .*>
Order Deny,Allow
Deny From All
</Files>
# Protect application and system files from being viewed
RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [F,L]
# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php?$0 [PT,L]
Самое близкое к решению, которое я нашел, было это сообщение: http://forum.kohanaframework.org/discussion/comment/4857/#Comment_4857 Однако это похоже на более старую версию Kohana, и я не уверен, как это будет работать в Kohana v3.