如何从 url yii2 中隐藏模块名称

How to hide module name from url yii2

我是yii2的新手。

我的域名。com/organisation/banks/index

从上面url我想删除组织。

我将以下代码添加到组件部分下的配置文件中。

'urlManager' => [
    'showScriptName' => false,
    'enablePrettyUrl' => true,
    'rules' => [
        '<controller:\w+>/<id:\d+>'=>'<controller>/view',
        '<controller:\w+>/<action:\w+>'=>'modules/<controller:\w+>/<action:\w+>',
        '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
    ],
]

但还是不行。

有什么办法吗?

谢谢

如果要隐藏多个 URL,恐怕您必须为每个 URL 添加规则,例如:

'banks/index' => 'organisation/banks/index',
'something/another' => 'organisation/something/another',

如果此模块使用了唯一的控制器名称,您可以通过添加通用规则使其更容易。例如,如果控制器的名称是 banks 并且 在应用程序的顶级命名空间级别下没有 BanksController 您可以添加:

'banks/<action>' => 'organisation/banks/<action>',

如果 organisation 模块是您的应用使用的唯一模块,并且您不需要顶级命名空间级别的控制器,您可以添加:

'' => 'organisation',

因此,输入域 URL 地址可让您直接进入 organisation 模块默认路由。