刚开始学习yii框架的时候会告诉?r=控制器/action方法,其实这种URL很不友好,yii提供了美化的组件。
‘urlManager’=>‘’
1. ‘enablePrettyUrl’ 是否美化路由:
true的路由/site/index ; false的路由site%Findex
2.’showScriptName’ index.php?r=控制器/action方法 还熟悉吧,这个方法就是来控制是否去掉index.php,true则去掉,反之不去。
3. ‘enableStrictParsing’是否严格解析路由直白点就是你必须给相应的规则,从而让浏览器的路由可以访问服务器
'rules' => [
//效果'/blogs/<id:\d+>'=>'/blog/view',
'/blogs'=>'blog/index',
// 效果 /blog/1=/blog/view&id=1
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
//效果index.html?page=3变为blog/index/3.html
'<controller:\w+>/<action:\w+>/<page:\d+>'=>'<controller>/<action>',
"<controller:\w+>/<action:\w+>"=>"<controller>/<action>",
],
4.’suffix’=>’.html’添加后缀.html
网页链接:
<a href="/site/index" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >Yii 链接 »</a>
Yii 链接 »
这种添加链接方式,只要路由稍微改变,你就得改动好多条代码,所以推荐使用yii\helpers\Url来生成,会根据ulManager组件自动生成路由
<a href="<?=Url::to(['site/index'])?>">yii 主页 »</a>
<a href="<?=Url::toRoute(['site/index'])?>">yii 主页2 »</a>
<a href="<?=Url::toRoute('site/index')?>">yii 主页3 »</a>
效果相同,但是贵在以不变应万变