Yii 模块中的布线不';我不能工作

Yii 模块中的布线不';我不能工作,yii,yii2,yii2-module,Yii,Yii2,Yii2 Module,我是Yii 2的新手,我的问题是关于模块内部的路由。 我的应用程序中有一个模块,它是一个供用户和管理员使用的配置文件柜。我创建了CabinetController而不是DefaultController,还创建了AdminController和UserController 我想要什么?我希望此CabinetController收到请求,并在验证用户是否为管理员后将其转发给AdminController或UserController 在配置文件中,我将模块的默认路由设置为“CAB”(据我所知,这是

我是Yii 2的新手,我的问题是关于模块内部的路由。 我的应用程序中有一个模块,它是一个供用户和管理员使用的配置文件柜。我创建了CabinetController而不是DefaultController,还创建了AdminController和UserController

我想要什么?我希望此CabinetController收到请求,并在验证用户是否为管理员后将其转发给AdminController或UserController

在配置文件中,我将模块的默认路由设置为“CAB”(据我所知,这是默认控制器的名称)。在UrlManager的“规则”部分,我写道:

'modules' => [
  'cabinet' => [
    'class' => 'app\modules\cabinet\Module',
    'defaultRoute' => 'cabinet'
  ],
  'utility' => [
    'class' => 'c006\utility\migration\Module',
  ],

],
'urlManager' => [
  'enablePrettyUrl' => true,
  'showScriptName' => false,

  'rules' => [
    '<_c:\w+>/' => '<_c>/',
    '<_c:[\w\-]+>/<_a:\w+>' => '<_c>/<_a>',
    '<_m:cabinet>/<_a:\w+>' => '<_a>',

  ],
],

如果我在CabinetController中更改defaultAction,它将按预期正常运行此操作。或者,如果我再次访问“my site.com/cabinet/admin/users”,它工作得很好,因为它在url中找到了一个控制器(我认为)。

在Yi2中,路由可能有点棘手,它遵循一些规则,您需要了解哪些可以找到

但是如果我理解正确,管理员/用户控制器是
文件柜
模块的一部分吗?您希望Yii将
/cabinet/users
路由到
/cabinet/admin/users

您需要在UrlManager中添加一些规则,请参见

例如:

'rules' => [
    '<module:cabinet>/<action:\w+>' => '<module>/admin/<action>',
],
“规则”=>[
“/”=>“/admin/”,
],

希望它有帮助

在Yii2中,路由可能有点棘手,它遵循一些规则,您需要了解哪些规则可以找到

但是如果我理解正确,管理员/用户控制器是
文件柜
模块的一部分吗?您希望Yii将
/cabinet/users
路由到
/cabinet/admin/users

您需要在UrlManager中添加一些规则,请参见

例如:

'rules' => [
    '<module:cabinet>/<action:\w+>' => '<module>/admin/<action>',
],
“规则”=>[
“/”=>“/admin/”,
],
希望能有帮助