ZF2儿童路线问题

I am trying to get some basic routing done in ZF2 but I am running into some problems.

The section that is giving me trouble is this:

'parent-categories' => array(
    'type' => 'literal',
    'options' => array(
        'route' => '/kategorier/',
        'defaults' => array(
            'controller' => 'categories',
            'action' => 'parent-categories',
        ),
    ),
    'may_terminate' => true,
    'child_routes' => array(
        'child-categories' => array(
            'type' => 'segment',
            'options' => array(
                'route' => '/kategorier[/:slug][/:parentCategoryid]/',
                'constraints' => array(
                    'parentCategoryid' => '[0-9]+',
                ),
                'defaults' => array(
                    'controller' => 'categories',
                    'action' => 'child-categories',
                )
            ),
        ),
    ),
),

The original 'parent-categories' route works just fine, no problem. The problem though is the child-categories route isn't doing anything. I have the URL:

/kategorier/test-test-test-test-test/1/

but this is never matched to anything. I get the error:

The requested URL could not be matched by routing.

If I take the child-categories route out of the "child_routes" section, it always catches the request, even if the url is only /kategorier/. Can anyone see what I am doing wrong here?

A child route appends to the parent route. I.e. what you're currently matching is

/kategorier//kategorier[/:slug][/:parentCategoryid]/

Do it like this

'parent-categories' => array(
    'type' => 'literal',
    'options' => array(
        'route' => '/kategorier',
        'defaults' => array(
            'controller' => 'categories',
            'action' => 'parent-categories',
        ),
    ),
    'may_terminate' => true,
    'child_routes' => array(
        'child-categories' => array(
            'type' => 'segment',
            'options' => array(
                'route' => '[/:slug][/:parentCategoryid]',
                'constraints' => array(
                    'parentCategoryid' => '[0-9]+',
                ),
                'defaults' => array(
                    'controller' => 'categories',
                    'action' => 'child-categories',
                )
            ),
        ),
    ),
),

And i guess this should be working out alright. It's a good advice to NOT have trailing slashes, as you'd ideally always want to begin new routes with one for better readability ;)