添加新& _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或其他地方进行吗?什么是害虫适当的方法呢?
答案 0 :(得分:1)
您应该可以从其中一个控制器执行以下操作:
$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)
),然后相应地构建查询字符串。 / p>