Zend2 - ZF2 - 路由问题
Zend2 - ZF2 - Routing Issue
我正在尝试让我的路由器正常工作,以便:
/Auth redirects to Auth controller of Auth MOdule
/Auth/Login redirects to Login controller of Auth Module
虽然第一个工作正常,但 /Auth/Login 导致路由问题。
我的路由器配置文件如下所示:
'router' => array(
'routes' => array(
'Auth' => array(
'type' => 'literal',
'options' => array(
'route' => '/Auth',
'defaults' => array(
'controller' => 'Auth\Controller\Auth',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'Auth/Login' => array(
'type' => 'literal',
'options' => array(
'route' => '/Login',
'defaults' => array(
'controller' => 'Auth\Controller\Login',
'action' => 'index')
),
),
),
),
),
),
答案就在@TimFountain 的评论中。因为您将子路由命名为 Auth/Login
,所以您必须请求 Auth/Auth/Login
才能匹配。
一旦您将子路由重命名为 Login
,您将在 Auth/Login
上获得预期的路由匹配。
编辑此部分
'child_routes' => array(
'Auth_Login' => array(
// ... your existing codes
只需从 Auth/Login
中删除 /
并改用连字符 -
或 _
。
我正在尝试让我的路由器正常工作,以便:
/Auth redirects to Auth controller of Auth MOdule
/Auth/Login redirects to Login controller of Auth Module
虽然第一个工作正常,但 /Auth/Login 导致路由问题。
我的路由器配置文件如下所示:
'router' => array(
'routes' => array(
'Auth' => array(
'type' => 'literal',
'options' => array(
'route' => '/Auth',
'defaults' => array(
'controller' => 'Auth\Controller\Auth',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'Auth/Login' => array(
'type' => 'literal',
'options' => array(
'route' => '/Login',
'defaults' => array(
'controller' => 'Auth\Controller\Login',
'action' => 'index')
),
),
),
),
),
),
答案就在@TimFountain 的评论中。因为您将子路由命名为 Auth/Login
,所以您必须请求 Auth/Auth/Login
才能匹配。
一旦您将子路由重命名为 Login
,您将在 Auth/Login
上获得预期的路由匹配。
编辑此部分
'child_routes' => array(
'Auth_Login' => array(
// ... your existing codes
只需从 Auth/Login
中删除 /
并改用连字符 -
或 _
。