我是Yii2的新手。我慢慢习惯了。我正在使用一个模块来构建客户数据。我有一张客户表。我的模块名称是Customer。我的控制器名称是Customer。 最后启用漂亮网址后我的网址结构如下所示。
http://localhost/basic/web/customers/customers
http://localhost/basic/web/customers/customers/create
等
如何从网址中删除模块名称(客户)? 我想做这样的事情。
http://localhost/basic/web/customers/
http://localhost/basic/web/customers/create
我的文件夹结构
模块
----顾客
------控制器
----------- DefaultController
----------- CustomersController
------模型
-----------顾客
------浏览
-----------客户
--------------创建
--------------更新
...
---- Module.php
我甚至不知道如何在urlManager中插入规则: Yii - Hiding module name in URL
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => array(
'<controller:\w+>/<action:\w+>'=>'module/controller/action',
),
答案 0 :(得分:0)
你所需要的只是this而且要小心,你正在寻找一个Yii1问题。
如果您的模块名称像控制器一样被调用,请尝试:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' =>[
'<controller:\w+>/<action:\w+>'=>'controller/controller/action',
],
我们希望在网址中使用的格式为controller/action
。
使用<controller:\w+>
我们&#34;声明&#34; a&#34;变量&#34;称为控制器,带有共币词,与<action:\w+>
相同。
内部Yii将致电<controller>
/ <controller>
/ <action>
请记住控制器和操作是&#34;变量&#34;
如果您希望呼叫始终使用相同的模块:
'rules' =>[
'<controller:\w+>/<action:\w+>'=>'customers/controller/action',
],