在Yii2中创建URL

时间:2015-06-07 11:03:13

标签: yii2

我已使用

Yii2中创建了自定义网址
'urlManager' => [
            'class' => 'yii\web\UrlManager',
            // Disable index.php
            'showScriptName' => false,
            // Disable r= routes
            'enablePrettyUrl' => true,

            'rules' => array(
                    '<controller:\w+>/<id:\d+>' => '<controller>/view',
                    '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
                    '<controller:\w+>/<action:\w+>' => '<controller>/<action>',

                    'site/GetNewTicketsTechnician' => 'site/get-new-tickets-technician',

            ),
        ]
web.php中的

(我使用的是基本模板)。

但是当我尝试使用

创建一个网址时
yii\helpers\Url::to(['site/get-new-tickets-technician'])

它生成的网址为site/GetNewTicketsTechnician而不是

site/get-new-tickets-technician . 

有人知道在Yii2中生成网址的正确方法吗?

1 个答案:

答案 0 :(得分:2)

您的问题是最后一条规则('site/GetNewTicketsTechnician' => 'site/get-new-tickets-technician')。它有site/get-new-tickets-technician作为目标路线,因此当您将其与Url::to()一起使用时,它将被反向使用。

如果您需要该网址可以调用(您有来电请求),但又不想将其包含在createUrl - 语句(生成链接)中,那么您必须将其配置为仅解析:

[
   'mode' => \yii\web\UrlRule::PARSING_ONLY,
   'pattern' => 'site/GetNewTicketsTechnician',
   'route' => 'site/get-new-tickets-technician'
]