天天看點

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>
           

效果相同,但是貴在以不變應萬變