Yii createUrl for multlanguage website with slug urls

时间:2013-06-16 18:22:31

标签: yii yii-routing

我已经按照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)

我无法弄清楚出了什么问题......

1 个答案:

答案 0 :(得分:0)

试试这个: '<language:(en|de)>/<controller:pages>/<slug:[a-z0-9-]+>'=>'pages/view'