【发布时间】:2018-12-29 12:54:30
【问题描述】:
我有一个 Yii 2 应用程序,我想使用一些漂亮的 URL。在我的配置文件中,我已经使用以下规则启用了漂亮的 URL:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
//'suffix' => '.html',
'rules' => [
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>/<slug:[a-zA-Z0-9_-]+>/' => '<controller>/<action>/<slug>',
'<controller:[\w\-]+>/<action:[\w\-]+>/slug/<slug:\d+>/id/<id:\w+>/itmNo/<itmNo:\w+>' => '<controller>/<action>/<slug>',
],
],
URL 结果是这样的http://192.168.1.101/myproject/item?Id=mens-body-fitted-t-shirt-2018-summer-fashion-2&itmNo=82813720
在上面的 URL 中,item 是控制器,而 Id 和 itmNO 是查询,我想在 URL http://192.168.1.101/myproject/item/mens-body-fitted-t-shirt-2018-summer-fashion-2/82813720 下得到类似的东西
查询名称替换为/。如何在 Yii2 中执行此操作,并且仍然在我的控制器中获取查询以进行正常搜索?
我的网址创建看起来像这样
$myurl = \Yii::$app->UrlManager->createUrl(['/item','Id'=>$items['slug'].'-'.$items['product_id'],'itmNo'=>$items['item_number']]);
【问题讨论】: