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