yii2高级2.06 createAbsoluteUrl

时间:2015-12-16 21:24:28

标签: php yii2 yii2-advanced-app

我正在使用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

1 个答案:

答案 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