繁体   English   中英

Yii2 urlmanager的漂亮URL规则失败

[英]Yii2 urlmanager rules for pretty urls fails

我有以下网址管理器路径

        '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 

它失败

所以基本上我希望所有网址都通过site/index重新定向,但所有以api作为前缀的api/auth/loginapi/auth/login都可以通过各自的控制器运行。 我添加了一个应该处理此问题的api模块。

我还需要添加什么才能使它正常工作?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM