CakePHP Gurus:如何将通用URL重定向到语言前缀URL

时间:2011-12-08 04:23:13

标签: cakephp url-routing redirect

我的语言前缀网址效果很好(site.com/en/controller/actionsite.com/fr/controller/action等),但如果有人输入网址而没有语言,我想重定向到具有该语言的URL。因此,site.com/controller/action重定向到site.com/xx/controller/action,其中xx是指定语言的值,存储在会话(或Cookie)中。

我怀疑我只能在language数组中查找$this->params索引,如果找不到,只需重定向即可。类似的东西:

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

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

我错过了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

我不是这方面的专家,但我知道总是重定向POST数据是个好习惯。因此,在检查语言之前,请执行您应该对POST数据执行的操作,然后在网址中使用适当的语言进行重定向。

看看这个: Insert cakephp POST params into URL

您还可以查看此> params获取GET数据并将其传递给$ this->重定向以将其传输。