ZF2管理员路由

时间:2013-05-10 14:50:57

标签: php frameworks routing zend-framework2

您好我正在尝试设置两个模块来工作。一个负责前页(前模块),另一个负责管理页面(管理模块)。

我已经正常配置了两个模块的路由,当我分别测试它们时一切正常。一旦我尝试让它们一起工作,我就会遇到一些路由问题。

例如,当我尝试转到链接时: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(
                        ),
                    ),
                ),
            ),

        ),

0 个答案:

没有答案