YII urlManager 美化URL链接 学习记录

urlManager 类参看手册 http://www.yiiframework.com/doc-2.0/yii-web-urlmanager.html#$rules-detail

第一步:设置重写规则 https://github.com/mimicode/yii2-app-advanced/blob/master/docs/guide/start-installation.md

上面的链接中第四步给出了规则详情 配置到服务器即可

第二步:打开配置文件中的urlmanager组件

rules格式:’pattern’ => ‘route’  举例:

<controller:\w+> 用来匹配控制器ID   <action:\w+> 用来匹配动作ID  其他参数用 <参数名:匹配规则> 来匹配

1
2
3
4
5
6
7
8
9
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
                '<controller:(post|comment)>s'=>'/index',
                '<controller:\w+>/<id:\d+>/<action:(update|create|delete)>'=>'<controller>/<action>',
                '<controller:(post|comment)>/<id:\d+>'=>'<controller>/view'
            ],
        ]
1
2
3
4
5
6
7
8
9
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'suffix'=>'.html',
            'rules' => [
                'post/<id:\d+>'=>'post/detail',
                'posts'=>'post/index',
            ],
        ]

坑:

如果你的URL是:http://aa.aa/post/id/123  则规则应该是  post/id/<id:\d+> ,其实 <>中的id是框架传给方法的变量名称,并不是URL参数中的id  

 

未经允许不得转载:开心乐窝-乐在其中 » YII urlManager 美化URL链接 学习记录

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏