我已经按照this指南创建符合SEO的多语言网址,现在我需要使用slug网址为几个模块设置网址规则。
使用过的规则适用于阅读网址,即写下网址
www.mywebsite.com/en/pages/hello-world
(它加载了正确的页面)。
但是使用createUrl函数只有当slug不包含任何破折号时才会返回一个有效的url,即使用slug“hello”createUrl返回
www.mywebsite.com/en/pages/hello
但是使用slug“hello-world”createUrl返回
www.mywebsite.com/pages/hello-world/language/en
这是使用过的规则:
'<language:(en|de)>/<controller:pages>/<slug:[\w\-]+>'=>'pages/view'
我以这种方式调用createUrl:
createUrl('pages/' . $slug)
我无法弄清楚出了什么问题......
答案 0 :(得分:0)
试试这个:
'<language:(en|de)>/<controller:pages>/<slug:[a-z0-9-]+>'=>'pages/view'