0
Kohana 3路由机制忽略查询字符串参数似乎是普遍的共识(例如参见this thread)。但是,这不是我在应用程序中看到的行为。Kohana 3路由和查询字符串
的路由被定义,像这样:
Route::set('an_action', 'admin/an_action(/<id>)')
->defaults(array(
'directory' => 'admin',
'controller' => 'welcome',
'action' => 'an_action',
));
动作本身需要从查询字符串“URL”参数,如果没有给出错误的结果,表明路由是成功的,并且行动企图执行:
http://myapp.localhost/admin/an_action/3
ERROR: ErrorException [ 8 ]: Undefined index: url ~ APPPATH/classes/controller/admin/welcome.php [ 37 ]
,但如果我添加URL查询参数,路由完全失败:
http://myapp.localhost/admin/an_action/3?url=myapp.localhost/admin
Kohana_Request_Exception [ 0 ]: Unable to find a route to match the URI: admin/an_action/3?url=myapp.localhost/admin
为了让它更令人沮丧,这个相同的路由设置在另一个我正在开发的本地主机上的应用程序中工作得很好。想法?我的路线设置不正确?这可能是Kohana安装的问题吗?在此先感谢您的帮助!
使用'$ PARAMS =路线::得到( 'an_action') - >匹配($ URI)'来检查您的路线。尝试检查这些网址:'admin/an_action /','admin/an_action/3','admin/an_action /','admin/an_action /?uri = test','admin/an_action/3?uri = test' – biakaveron 2011-02-26 07:26:25