Zend 框架 - 翻译后的 url 中出现重复
我有这些 URL,
cz/kontroler/akce
en/controller/action
使用可转换路由,并且像魅力一样工作。但问题是,当你写的时候
cz/controller/akce
它也能工作。
一般来说,当你有
cz/something-in-czech
en/something-in-english
到某个控制器的路由时,它仍然可以工作,
cz/some
en/some
因为它确实是控制器的名称。
如何解决这种口是心非的内容问题?
I have these URLs
cz/kontroler/akce
en/controller/action
Is used transatable route and works it like charm. But problem is, that when you will write
cz/controller/akce
it works as well.
In generally when you have
cz/something-in-czech
en/something-in-english
which route to someController, will be works still
cz/some
en/some
because it is really name of controller.
How solve this duplicity content issue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以创建一个使用 preDispatch 方法的插件。在执行请求之前,您可以分析请求的url并检查请求的语言是否与url中的params(我的意思是控制器和操作)中的语言匹配。如果没有,您可以将用户重定向到符合给定语言的 url(基本上您将翻译控制器和操作,然后将用户重定向到正确的 url)。
You can create a plugin that uses a preDispatch method. Before the request is executed, you can analyze the url requested and check if the requested language match the language of the params in the url (I mean controller and action). If not, you can redirect the user to the url that is in accord to the given language (basically you'll translate the controller and the action and then redirect the user to the right url).