您好我正在尝试设置两个模块来工作。一个负责前页(前模块),另一个负责管理页面(管理模块)。
我已经正常配置了两个模块的路由,当我分别测试它们时一切正常。一旦我尝试让它们一起工作,我就会遇到一些路由问题。
例如,当我尝试转到链接时:localhost.com/en/admin/index/add框架使用前端模块路由配置而不是管理员。
所以基本上它试图去: 模块 - “前面”, 郎 - “恩”, 控制器 - “管理员”, 行动 - “索引”
但我需要的是: 模块 - “管理员”, 郎 - “恩”, 控制器 - “索引”, 行动 - “添加” 参数 - “无”
因此需要告诉前端配置路由不要访问其中包含管理部分的链接,但我无法使其工作。这是我的前端模块路由:
'application' => array(
'type' => 'Segment',
'options' => array(
'route' => '[/:lang][/:controller[/:action[/:id]]]',
'constraints' => array(
//'controller' => '^((?!admin).)*[a-zA-Z][a-zA-Z0-9_-]*',
'lang' => '[a-zA-Z]{2}',
'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'__NAMESPACE__' => 'Application\Controller',
//'lang' => 'en',
'controller' => 'Index',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'default' => array(
'type' => 'Segment',
'options' => array(
'route' => '[/:lang][/:controller[/:action[/:id]]]',
'constraints' => array(
'lang' => '[a-zA-Z]{2}',
'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
),
),
),
),
),
和管理员路由代码:
'admin' => array(
'type' => 'Segment',
'options' => array(
'route' => '/admin[/:lang][/:controller[/:action[/:id]]]',
'constraints' => array(
//'controller' => '^((?!admin).)*[a-zA-Z][a-zA-Z0-9_-]*',
'lang' => '[a-zA-Z]{2}',
'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'__NAMESPACE__' => 'Admin\Controller',
'lang' => 'en',
'controller' => 'Index',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'default' => array(
'type' => 'Segment',
'options' => array(
'route' => '[/:lang][/:controller[/:action[/:id]]]',
'constraints' => array(
'lang' => '[a-zA-Z]{2}',
'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
),
),
),
),
),