Url rewriting 更改/重命名URL:Yii2中的控制器名称
我想更改URL中的控制器名称。我们可以通过重命名模块中的控制器名称来实现。但是,通过URL管理器,如果我们可以做到这一点。这样会更好 模块:用户, 控制器:api, 行动:索引 现在,Url rewriting 更改/重命名URL:Yii2中的控制器名称,url-rewriting,yii2,yii2-basic-app,yii-url-manager,Url Rewriting,Yii2,Yii2 Basic App,Yii Url Manager,我想更改URL中的控制器名称。我们可以通过重命名模块中的控制器名称来实现。但是,通过URL管理器,如果我们可以做到这一点。这样会更好 模块:用户, 控制器:api, 行动:索引 现在, 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ '<controller:(api)>/<action:\w+>/&
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'<controller:(api)>/<action:\w+>/<id:[a-z0-9]+>' => 'user/<controller>/<action>',
'<controller:(api)>/<action>' => 'user/<controller>/<action>',
]
];
但是,我想把它改成
http://dev.example.com/world/index
我怎么做?任何帮助/提示/建议都是值得欣赏的。您可以通过向规则数组添加项目来创建自定义url规则 因此,在您的情况下,将其插入规则数组
'world/index' => 'api/index'
您可以阅读有关URL规则的更多信息。您还可以使用ControllerMap 当您使用第三方控制器且无法控制它们的类名时,它非常有用 下面是main.php中组件中的代码,或basic中的web.php 例如:
'controllerMap' => [
'api' => 'app\controllers\WorldController',
]
'controllerMap' => [
'api' => 'app\controllers\WorldController',
]