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链接 学习记录