我正在使用urlManager的createAbsoluteUrl方法来生成一个URL,以按消息ID查看我的消息模型的实例。
Yii::$app->urlManager->createAbsoluteUrl(['/message/view', 'id'=>$model->id, '#' => $model->id])
这会产生 - http://localhost/advancedyii2/frontend/web/index.php?r=message#
但是,我要求─ http://localhost/advancedyii2/frontend/web/index.php?r=message%2Fview&id=1
你能确定问题吗?
感谢, PF
答案 0 :(得分:0)
您需要为您的网址编写规则: web.php中的URL管理器规则配置
'components' => [
'urlManager' => [
'showScriptName' => false, // Disable index.php
'enablePrettyUrl' => false, // Disable r= routes
'enableStrictParsing' => true,
'rules' => array(
'mycategory/<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
//Rules with Server Names
'http://admin.domain.com/login' => 'admin/user/login',
'http://www.domain.com/login' => 'site/login',
'http://<country:\w+>.domain.com/profile' => 'user/view',
'<controller:\w+>/<id:\d+>-<slug:[A-Za-z0-9 -_.]+>' => '<controller>/view',
),
],
],
您可以根据需要自定义您的网址。 More information