Phalcon 使用新的 GET 变量重定向

Phalcon redirect with new GET variables

重定向到添加了新 &_GET 变量的同一页面的最佳方法是什么。 我想做一些类似 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)),然后相应地构建查询字符串.