1

嗨,我必须创建用户友好的 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 值。

4

2 回答 2

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
],

路由文档

在你的行动之后:

public function actionIndex($id)
{
  ...
}
于 2015-03-17T10:57:52.513 回答
0

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

于 2021-04-15T18:04:27.433 回答