Следующее будет работать, однако использование глобальных массивов в Kohana считается плохой практикой:
Route::set('query', function ($uri)
{
$query_string = $_SERVER['QUERY_STRING'];
if (preg_match('/query=(.+)/', $query_string, $matches))
{
return array(
'controller' => 'index',
'action' => 'query',
'id' => $matches[1],
);
}
}, '(<action>(/<id>))');
Проблема заключается в том, что система маршрутизации Kohana не предназначена для работы со строкой запроса.Если вам действительно нужно пойти по этому пути, то вам придется переместить логику из Kohana в файл .htaccess, используя mod_rewrite.