Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 默认/路由中的可选get参数(带斜线)_Php_Symfony_Routing - Fatal编程技术网

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
}