我网站上的主页是一个空链接,如:
www.randomlink.com/
那是具有"/"
路线的控制器。问题是我必须在这里使用get参数,根据以下模式:
key1/value1/key2/value2
我在表单提交上添加这些参数,表单重定向回主页面。
问题是,正如你所看到的,我得到:
www.randomlink.com/key1/value1/key2/value2
因此它打开了key1控制器,而不是默认控制器。
/**
* Display dashboard
*
* @Route("/{path}",
* name="dashboard",
* defaults={"path" = "-1"},
* requirements={"path" = ".+"})
* @Template()
*/
public function displayAction($path, Request $request)
{
if($_POST)
{
// add get parameters to $path
return $this->redirect($this->generateUrl('dashboard', ['path' => $path]));
}
// do something
}
我该如何解决这个问题?
答案 0 :(得分:1)
您的路由配置顺序可能不正确:请参阅"Earlier Routes always Win" in the docs
解决方法:如何使用查询字符串,如:www.randomlink.com/?path=key1/value1/key2/value2
,然后$request->query->get('path')
?