具有 2 个参数的 symfony 重定向

2022-08-30 13:05:28

如何重定向到传递 2 个或更多参数的另一个操作?

此代码:

$this->redirect('input/new?year=' . $year . '&month=' . $month);

网址中的结果:

http://.../input?year=2009&month=9


答案 1

好吧,这是正常的,“重定向”重定向到绝对URL。你可以这样做:

$this->redirect($this->generateUrl('default', array('module' => 'input',
'action' => 'new', 'year' => $year, 'month' => $month)));

答案 2

在当前支持的Symfony版本(2.7 +)中,它甚至更容易(另外,您可以选择在最后添加状态代码):

return $this->redirectToRoute(
    'default',
    array('year' => $year, 'month' => $month),
    Response::HTTP_MOVED_PERMANENTLY // = 301
);

推荐