Php Yii2 url管理器don';t使用get参数解析URL
我创建了一个名为catalog的模块,目前在默认控制器中有两个操作:Php Yii2 url管理器don';t使用get参数解析URL,php,url-rewriting,yii2,yii2-advanced-app,yii-url-manager,Php,Url Rewriting,Yii2,Yii2 Advanced App,Yii Url Manager,我创建了一个名为catalog的模块,目前在默认控制器中有两个操作: 行动指数 actionLineProducts 在“索引”视图中,我有一些运行产品线操作的链接,url是以下结果: Url::to(['line-products', 'line' => $line->name]) 我的目标是获得像这样的链接 目录/{行名称} 其中line name是我发送给action LineProducts的参数。 我的urlManager配置是: 'enablePrettyUrl' =&
Url::to(['line-products', 'line' => $line->name])
我的目标是获得像这样的链接
目录/{行名称}
其中line name是我发送给action LineProducts的参数。
我的urlManager配置是:
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'<moduls:catalogue>/<controller:default>/<action:line-products>/<line:*>' => '<module>/<line>',
'<controller:\w+>/<id:\d+>' => '<controller>/view/',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
],
谁能解释一下为什么我的URL总是这样:
{行名称}
您交换了配置。键是从浏览器传递的url的模式。该值是路线。由于您使用的是特定的模块、控制器和操作,因此您可以直接将它们传入:
'rules' => [
'catalogue/<line>' => 'catalogue/default/line-products'
...
]
“规则”=>[
“目录/”=>“目录/默认/产品线”
...
]
有关更多信息,请阅读Yii2指南中的。谢谢您的回答!我将规则放在我的urlManager配置中,但这捕获了一个异常:preg_match():编译失败:在偏移量25处无需重复
'rules' => [
'catalogue/<line>' => 'catalogue/default/line-products'
...
]