我是Yii2的新手,他们的URL裁决有点棘手。我有一个SiteController
像这样
public function actionSuccessStories($slug = null)
{
// some codes
}
在我的配置
一个动作我有这个
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => true,
'rules' => [
// Default routes
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
// page routes
'success-stories/<slug:\w+>' => 'site/success-stories',
// Remove 'site' parameter from URL
'<action:(.*)>' => 'site/<action>',
],
],
在我看来
我有这个产生我的网址
Url::to(['site/success-stories', 'slug' => 'slug_value'], true);
我的问题是Url::to();
创建success-stories?slug=slug_value
而不是
success-stories/slug/slug_value
我在做对吧?我想要完成的是第二种格式。
我读过这个问题关系到我的,但它仅覆盖模块 Yii2 url manager don't parse urls with get parameter
Youre missing'-' sign,try:''stories-stories/'=>'site/success-stories',' –
Yupik
''stories-stories/'=>'site/success-stories'尝试它,但它仍然是相同的,它仍然产生这个'成功故事?slug = slug_value',如果我尝试在我的浏览器中输入像这样的成功故事/ slug/slug_value,我得到一个404错误 –
david
你能分享'urlManager'配置? – Yupik