Каков наилучший способ перенаправления на ту же страницу с добавлением новых переменных & _GET. Я хочу сделать что-то вроде Google в Google Analytics, WMT...
Допустим, пользователь открывает страницу www.example.com, я бы хотел перенаправить это на www.exaple.com?lang=en&uid=01845654&p=1.
Кроме того, если кто-то входит на www.example.com?p=2&lang=fr, я бы хотел сохранить эти переменные, просто добавлю необходимые.
Должен ли я делать это в ControllerBase или в DI или где-то еще? И какой у него вредный способ сделать это?
Вы должны сделать что-то в следующих строках от одного из ваших контроллеров:
$destination = ltrim($this->di->get('router')->getMatchedRoute()->getPattern(), '/');
$queryString = 'lang=en&uid=01845654&p=1'
return $this->response->redirect($destination . '?' . $queryString);
Для проблемы сохранения входящих параметров GET и установки только тех, которые не были использованы в запросе, вам нужно будет проверить их вручную (например, используя $this->request->get(PARAM_NAME)
), а затем создайте запрос строка соответственно.