Zend 框架 - 翻译后的 url 中出现重复

发布于 2024-12-17 01:47:55 字数 386 浏览 2 评论 0原文

我有这些 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

伤感在游骋 2024-12-24 01:47:55

您可以创建一个使用 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).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文