我有多个可能包含子路由的路由。路由按预期工作,但是我想全局(在所有路由上)允许某些(或所有)查询参数。
例如http://example.com/route/match?utm_source=test和http://example.com/route?utm_source=test ...应该可以工作,有没有办法在我的所有路线上允许这样做,或者应该我为每条路由添加一个查询子路由?
当前路线示例:
'category' => array(
'type' => 'Segment',
'options' => array(
'route' => '/:category[/]',
'constraints' => array(
'category' => '[a-z][a-z0-9-]*',
),
'defaults' => array(
'controller' => 'Category',
'action' => 'index'
),
),
'may_terminate' => true,
'child_routes' => array(
'subcategory' => array(
'type' => 'Segment',
'options' => array(
'route' => ':subcategory[/]',
'constraints' => array(
'subcategory' => '[a-z][a-z0-9-]*',
),
'defaults' => array(
'controller' => 'Category',
'action' => 'subcategory'
),
),
),
),
编辑:
我刚刚注意到,如果路由没有定义 child_routes,则允许查询参数。