我有这个路线配置:
'router' => array(
'routes' => array(
'blog' => array(
'type' => 'segment',
'options' => array(
'route' => '/blog',
'defaults' => array(
'controller' => 'Blog\Controller\Blog',
'action' => 'list',
),
),
'may_terminate' => true,
'child_routes' => array(
'create' => array(
'type' => 'literal',
'options' => array(
'route' => '/create',
'defaults' => array(
'action' => 'create',
),
),
'may_terminate' => true,
),
'view' => array(
'type' => 'segment',
'options' => array(
'route' => '/[:slug]',
'constraints' => array(
'slug' => '[a-zA-Z][a-zA-Z0-9_-]*',
),
'defaults' => array(
'action' => 'view',
),
),
'may_terminate' => true,
)
),
),
),
),
目的是使用以下网址:
路由配置适用于第1点和第3点,但不适用于第二点(我得到"请求的控制器无法发送请求。"),有人可以解释为什么吗?哪个是正确的配置?
答案 0 :(得分:1)
Router
将返回它可以在一组相同级别的子路由中找到的最后一个路由定义。
对于同一级别的子路由,将Segment
路由定义放在Literals
之前。