Php Zend路由与约束相反?

Php Zend路由与约束相反?,php,zend-framework,zend-route,Php,Zend Framework,Zend Route,目前我有一个相当复杂的路由文件。我希望能够有可跳过的段(我现在正在使用一个插件),但如果它与一个子路由匹配,也可以跳过该段。以下是文件的一部分: return array( 'router' => array( 'routes' => array( 'home' => array( 'type' => '\Application\Utilities\SkippableSegment', 'option

目前我有一个相当复杂的路由文件。我希望能够有可跳过的段(我现在正在使用一个插件),但如果它与一个子路由匹配,也可以跳过该段。以下是文件的一部分:

return array(
'router' => array(
    'routes' => array(
        'home' => array(
            'type' => '\Application\Utilities\SkippableSegment',
            'options' => array(
                'route' => '/college/courses[/:level-name][/]',
                'constraints' => array(
                    'level-name' => '(?i:[a-zA-Z][a-zA-Z0-9_-]*)',
                ),
                'defaults' => array(
                    'controller' => 'Application\Controller\Index',
                    'action' => 'index',
                    'level-name' => '',
                ),
                'skippable' => [
                    'level-name' => true,
                ]
            ),
            'may_terminate' => true,
            'child_routes' => array(
                'privacy' => array(
                    'type' => 'Zend\Mvc\Router\Http\Literal',
                    'options' => array(
                        'route' => 'privacy-policy',
                        'defaults' => array(
                            'controller' => 'Application\Controller\Index',
                            'action' => 'privacy',
                        ),
                    ),
                ),
            ),
        ),
    ),
),
我想要实现的是:

  • /学院/课程/AS2-工作
  • /学院/课程/AS2/隐私-工作
  • /大学/课程/隐私-不起作用,因为它认为 “隐私”是一个级别
我的问题是,既然“隐私”已经是一个子节点,那么在约束中有没有办法“忽略”它

感谢您的帮助,如果需要,请随时询问更多信息