2011-11-17 62 views
1

我有这些URLZend框架 - 复制在转变的URL

cz/kontroler/akce 

en/controller/action 

是用来transatable路线和它的作品像魅力。但问题是,当你会写

cz/controller/akce 

它也适用。

在通常当你有

cz/something-in-czech 
en/something-in-english 

该路线someController,将作品仍然

cz/some 
en/some 

,因为它是真正的名字控制器。

如何解决这个重复性的内容问题?

回答

0

您可以创建使用preDispatch方法的plugin。执行请求之前,您可以分析请求的url并检查请求的语言是否与url中的params语言相匹配(我的意思是控制器和操作)。如果没有,您可以将用户重定向到与给定语言一致的url(基本上,您会翻译控制器和操作,然后将用户重定向到正确的url)。

+0

我做了类似的方式。令我惊讶的是,它在路线中并没有控制内部,在文件中没有任何关于它的内容。当我没有意外发现我可能会受到谷歌的惩罚。 – tomasr

+0

@tomasr您始终可以使用rel =“canonical”来告诉Google您希望成为哪个网址的首选网址。 –