У меня отлично работают URL-адреса с префиксом языка (site.com/en/controller/action
и site.com/fr/controller/action
и т. Д.), Но если кто-то вводит URL без языка, я хочу перенаправить на 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.
Чего мне не хватает?
Спасибо!