0

我有多个可能包含子路由的路由。路由按预期工作,但是我想全局(在所有路由上)允许某些(或所有)查询参数。

例如http://example.com/route/match?utm_source=testhttp://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,则允许查询参数。

4

1 回答 1

0

无论查询路由如何,始终允许查询参数。它仅用于组装,自 ZF 2.1.4 起已被弃用。

于 2013-03-15T11:00:35.857 回答