yii2美化路由遇见的问题

本文介绍了一种优化网站URL路由的方法,通过调整路由规则解决了访问路径为404的问题,并介绍了如何配置路由规则来支持带有横线的控制器和操作名称。

原本的访问路径是:

index.php/user-backend/index/user-backend/index.html

访问的代码是404,找不到
在UrlManage中的rules配置的是:

"<controller:\w+>/<action:\w+>" => "<controller>/<action>", // 默认的访问路径的规则

经判断是正则表达式给过滤掉,修改的规则是:

"<controller:[a-z0-9\-]+>/<action:[a-z0-9\-]+>" => "<controller>/<action>", // 匹配了Controller或Action中间有横线-的情况

优化路由的参考例子

// 美化路由组件
        'urlManager' => [
            // 是否开启美化效果
            'enablePrettyUrl' => true,
            // 是否或略脚本名index.php
            'showScriptName' => false,
            // 是否开启严格解析路由
            'enableStrictParsing' => true,
            'suffix' => '.html',
            'rules' => [
                '<controller:\w+>/<action:\w+>/<page:\d+>' => '<controller>/<action>',// eg: /blog/index?page=2   ===>  /blog/index/2.html
                '<controller:\w+>/<id:\d+>' => '<controller>/view',// 将controller/id映射到controller/view界面 eg: /blog/view?id=3   ===> /blog/3.html
                '<controller:[0-9a-z\-]+>/<id:\d+>' => '<controller>/view',// 查看详细中间有横线的情况
                "<controller:[a-z0-9\-]+>/<action:[a-z0-9\-]+>" => "<controller>/<action>", // 匹配了Controller或Action中间有横线-的情况
                "<controller:\w+>/<action:\w+>" => "<controller>/<action>", // 默认的访问路径的规则
                "<module:\w+>/<controller:\w+>/<action:\w+>" => "<module>/<controller>/<action>", // index.php/admin/route/index  ===> /admin/route/index.html

                '' => 'site/index',// 设置首页
                '/index' => 'site/index',// 设置首页
            ],
        ],

    ],
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值