ZF2路由混淆

时间:2013-05-30 19:04:27

标签: routing zend-framework2 hostname

我确信这个问题的答案是显而易见的,但它现在正在躲避我。我的module.config.php

中有以下代码
'subdomain' => array(
    'type' => 'Hostname',
    'options'=> array(
        'route' => ':subdomain.mydomain.com',
        'defaults' => array(
            'controller' => 'Application\Controller\Index',
            'action'    => 'foo',
        ),
    ),
    'child_routes' => array(
        'withcontroller' => array(
            'type' => 'Segment',
            'options' => array(
                'route' => '[/:controller/:action]',
                'constraints' => array(
                    'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
                    'action'     => '[a-zA-Z][a-zA-Z0-9_-]*',
                ),
                'defaults' => array(),
             ),
         ),

如果删除child_routes, test.mydomain.com匹配没问题。当我添加child_routes部分时,test.mydomain.com/Index/foo匹配,但test.mydomain.com不匹配。我认为/:controller/:action周围的方括号会使这些参数成为可选参数。我在这里误解了什么?

1 个答案:

答案 0 :(得分:0)

好的,找到解决方案,不知道为什么,但是移动斜线:paran之外的控制器使一切正常。