如何定义将捕获所有请求并将其转发到一个特定控制器的路由?我已经尝试添加默认路由了
Route::set('default', '(<controller>(/<action>(/<id>)))')
->defaults(array(
'directory' => 'site',
'controller' => 'foobar',
'action' => 'foobar',
));
Run Code Online (Sandbox Code Playgroud)
要么
Route::set('default', '(.*)')
-> defaults(array(
'directory' => 'site',
'controller' => 'foobar',
'action' => 'foobar',
));
Run Code Online (Sandbox Code Playgroud)
到我的bootstrap.php,但它不起作用.键入localhost/a之后我得到了
Unable to find a route to match the URI: a
Run Code Online (Sandbox Code Playgroud)
要么
The requested URL a was not found on this server.
Run Code Online (Sandbox Code Playgroud)
错误.我确信控制器是有效的,如
Route::set('foobar', 'foo')
-> defaults(array(
'directory' => 'site',
'controller' => 'foobar',
'action' => 'foobar',
));
Run Code Online (Sandbox Code Playgroud)
工作良好.
我正在使用Kohana 3.3.
这应该工作:
Route::set('foobar', '<catcher>',array('catcher'=>'.*'))
-> defaults(array(
'directory' => 'site',
'controller' => 'foobar',
'action' => 'foobar',
));
Run Code Online (Sandbox Code Playgroud)
它<catcher>是一个占位符,array('catcher'=>'.*')定义捕获器以匹配正则表达式.*