Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.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 Symfony 2路由2个类似的路由,但另一个控制器_Php_Symfony_Routing - Fatal编程技术网

Php Symfony 2路由2个类似的路由,但另一个控制器

Php Symfony 2路由2个类似的路由,但另一个控制器,php,symfony,routing,Php,Symfony,Routing,我的路线有问题。 我为我的页面创建了这样的路线 @Route(“/{slug}”,name=“cms\u site”) 我有另一个到我的管理仪表板的路径,如 @Route("/dashboard", name="dashboard_homepage") 现在,当我尝试打开/仪表板时,我无法打开,因为symfony使用“cms\U站点”控制器 我如何定义它 “dashboard\u homepage”/dashboard对cms\u站点很重要?symfony2中的路由按降序查找。因此,选择与模式

我的路线有问题。 我为我的页面创建了这样的路线

@Route(“/{slug}”,name=“cms\u site”)

我有另一个到我的管理仪表板的路径,如

@Route("/dashboard", name="dashboard_homepage")
现在,当我尝试打开/仪表板时,我无法打开,因为symfony使用“cms\U站点”控制器

我如何定义它
“dashboard\u homepage”/dashboard对cms\u站点很重要?

symfony2中的路由按降序查找。因此,选择与模式匹配的第一条路由

像/{slug}这样的占位符路由必须位于路由定义的末尾。如果更改操作的顺序或在routing.yml中导入路由的顺序,则应该可以工作


我希望有帮助。

除了@pabgaran答案, 如果你陷入了无法改变订单的困境, 您可以强制{slug}不包含要求和正则表达式:

/**
 * @Route("/{slug}", requirements={"slug" = "^(?!.*(dashboard)).*$"} , name="cms_site")
 */
注意:我还没有在这个特殊情况下测试正则表达式。它可能需要调整