Php 默认/路由中的可选get参数(带斜线)
我网站的主页是一个空链接,如:Php 默认/路由中的可选get参数(带斜线),php,symfony,routing,Php,Symfony,Routing,我网站的主页是一个空链接,如: www.randomlink.com/ 这是带有“/”路线的控制器。问题是,根据以下模式,我必须在这里使用get参数: key1/value1/key2/value2 我在表单提交中添加了这些参数,表单重定向回主页面 问题是,正如你所看到的,我得到: www.randomlink.com/key1/value1/key2/value2 因此,它会打开key1控制器,而不是默认控制器 如何解决此问题?可能您的路由配置顺序不正确:请参阅 解决方法:如何使用查
www.randomlink.com/
这是带有“/”
路线的控制器。问题是,根据以下模式,我必须在这里使用get参数:
key1/value1/key2/value2
我在表单提交中添加了这些参数,表单重定向回主页面
问题是,正如你所看到的,我得到:
www.randomlink.com/key1/value1/key2/value2
因此,它会打开key1控制器,而不是默认控制器
如何解决此问题?可能您的路由配置顺序不正确:请参阅 解决方法:如何使用查询字符串,如:
www.randomlink.com/?path=key1/value1/key2/value2
,然后$request->query->get('path')
/**
* 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
}