在Yii2中创建Url

在Yii2中创建Url,yii2,Yii2,我已经在Yii2中使用 'urlManager' => [ 'class' => 'yii\web\UrlManager', // Disable index.php 'showScriptName' => false, // Disable r= routes 'enablePrettyUrl' => true, 'rules

我已经在
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',

            ),
        ]
它正在以
site/getnewticketstetechnian
的形式生成url,而不是以

site/get-new-tickets-technician . 

有谁知道在
Yii2
中生成url的正确方法吗?

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

如果您需要该url可调用(其中有传入请求),但不想将其包含在
createUrl
-语句(生成链接)中,则必须将其配置为仅解析:

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

这应该是可行的。你看过文件了吗?
[
   'mode' => \yii\web\UrlRule::PARSING_ONLY,
   'pattern' => 'site/GetNewTicketsTechnician',
   'route' => 'site/get-new-tickets-technician'
]