天天看点

URL美化与链接

刚开始学习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 链接 &raquo;</a>

Yii 链接 »

这种添加链接方式,只要路由稍微改变,你就得改动好多条代码,所以推荐使用yii\helpers\Url来生成,会根据ulManager组件自动生成路由

<a href="<?=Url::to(['site/index'])?>">yii 主页 &raquo;</a>
<a href="<?=Url::toRoute(['site/index'])?>">yii 主页2 &raquo;</a>
<a href="<?=Url::toRoute('site/index')?>">yii 主页3 &raquo;</a>
           

效果相同,但是贵在以不变应万变