剛開始學習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>
效果相同,但是貴在以不變應萬變