Yii2使用参数创建用户友好的URL

时间:2015-03-17 10:54:04

标签: yii2 yii2-advanced-app

您好我要创建用户友好的网址,但在使用参数时,它无效。

URL:

Url::to(['site/index', 'id' => 1]);

网址如下:

localhost/testApplication/frontend/web/index.php/site/index?id=1

/forntend/config/main.php

'urlManager' => [
        'class' => 'yii\web\UrlManager',
        'enablePrettyUrl' => true,
        //'showScriptName' => false,
        'rules' => [

        ],
    ],

我想要输出

localhost/testApplication/frontend/web/index.php/site/index/id/1

之后如何访问控制器中的id值。

2 个答案:

答案 0 :(得分:1)

'rules' => [
  'site/index/id/<id:\d+>' => 'site/index'
  //'site/index/<id:\d+>' => 'site/index' Better solution
  //'<controller>/<action>/<id:\d+>' => '<controller>/<action>' Will be applied for all controllers and actions
],

Routing Doc

在你的行动之后:

public function actionIndex($id)
{
  ...
}

答案 1 :(得分:0)

真的很奇怪,对我来说使用参数'id'总是显示错误,我需要将参数更改为'user_id',但在代码的其他部分我可以使用,真的不知道为什么,但试试重命名参数。