为了账号安全,请及时绑定邮箱和手机立即绑定

漂亮 url 的 Yii2 urlmanager 规则失败

漂亮 url 的 Yii2 urlmanager 规则失败

PHP
胡子哥哥 2021-11-13 16:50:20
我有以下网址管理器路径        'urlManager' => [        'enablePrettyUrl' => true,        'showScriptName' => false,        'rules' => [            '<controller:(\w|-)+>/' => 'site/index',            '<module:api\w+>/<controller:\w+>/<action:(\w|-)+>' => '<module>/<controller>/<action>',         ],    ]我正在寻找的是所有未通过 api 模块路径呈现的 url 以通过站点/索引运行,但所有其他具有 api/* 的路径将通过模块路径执行。以上适用于 /login、/auth 等网址,但是当我运行网址时/administrative/uom 它失败所以基本上我希望所有的 url 都被重定向,site/index但是所有以 api 作为前缀的 url 都喜欢api/auth/login通过各自的控制器运行。我添加了一个 api 模块来处理这个问题。我还需要添加什么才能完成这项工作?
查看完整描述

1 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

添加规则时总是从更详细到不太详细。并且您只为控制器添加了一般规则,因此没有与操作匹配的 URL。做这个


'rules' => [

    'api/<controller:\w+>/<action:[\w\-]+>' => 'api/<controller>/<action>',

    '<controller:[\w\-]+>/<action:[\w\-]+>' => 'site/index',

    '<controller:[\w\-]+>/' => 'site/index',

],


查看完整回答
反对 回复 2021-11-13
  • 1 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信