1

我相信这个问题的答案是显而易见的,但它现在正在躲避我。我的 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会使这些参数成为可选参数。我在这里有什么误解?

4

1 回答 1

0

好的,找到了解决方案,不知道为什么,但是将斜线从 :controller 移到 paran 之外可以使一切正常。

于 2013-07-05T18:30:16.407 回答