我确信这个问题的答案是显而易见的,但它现在正在躲避我。我的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
周围的方括号会使这些参数成为可选参数。我在这里误解了什么?
答案 0 :(得分:0)
好的,找到解决方案,不知道为什么,但是移动斜线:paran之外的控制器使一切正常。