【问题标题】:CakePHP Gurus: how to redirect generic URL to language prefixed URLCakePHP 大师:如何将通用 URL 重定向到语言前缀 URL
【发布时间】:2011-12-08 04:23:13
【问题描述】:

我的语言前缀 URL 工作得很好(site.com/en/controller/actionsite.com/fr/controller/action 等),但是如果有人输入一个没有语言的 URL ,我想重定向到一个有语言。所以site.com/controller/action 重定向到site.com/xx/controller/action,其中xx 是一个指定语言的值,存储在会话(或cookie)中。

我怀疑我可以在$this->params 数组中查找language 索引,如果找不到就直接重定向。比如:

if (!isset($this->params['language']) {
    $this->redirect(array('controller' => $this->controller, 'action' => $this->action, 'language' => $this->Session->read('Config.language')));
}

但我担心这会丢弃任何 POST 或 GET 数据。

我错过了什么?

谢谢!

【问题讨论】:

    标签: cakephp url-routing redirect


    【解决方案1】:

    在这种情况下,我不是专家,但我明白始终重定向 POST 数据是一种很好的做法。因此,在检查语言之前,请对 POST 数据执行您应该执行的操作,然后在 url 中使用正确的语言进行重定向。

    看这个: Insert cakephp POST params into URL

    您也可以查看 this->params 获取 GET 数据并将其传递给 $this->redirect 以继续执行。

    【讨论】:

    • 同意。您始终可以重定向您的帖子并获取数据,因此不必担心丢弃它。
    猜你喜欢
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    • 2019-03-15
    相关资源
    最近更新 更多