1

我已按照指南创建符合 SEO 的多语言 url,现在我需要使用 slug url 为一些模块设置 url 规则。

使用的规则在读取 url 时工作正常,即像这样编写 url

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)

我不知道出了什么问题...

4

1 回答 1

0

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

于 2013-06-17T18:10:07.203 回答