我不能得到一个路由与可选参数解析ID在最后。这是我的路线:
Route::set('default', '<action>(/<id>)', array(
'action' => '.*',
'id' => ''d+'
))->defaults(array(
'controller' => 'MediaLibrary',
'action' => 'index'
));
当我查看参数时,我得到:
array(2) (
"action" => string(7) "test/91"
"controller" => string(12) "MediaLibrary"
)
但是,如果我将路由更改为<action>/(<id>)
,它就可以工作。Id将不会出现问题,并且动作将更改为test
而不是test/91
它不工作,因为action
参数有捕获所有正则表达式,尝试将其更改为[a-z0-9]+
。
Route::set('default', '<action>(/<id>)',
array(
'action' => '[a-z0-9]+',
'id' => ''d+'
))
->defaults(array(
'controller' => 'MediaLibrary',
'action' => 'index'
));