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")
*/
注意:我还没有在这个特殊情况下测试正则表达式。它可能需要调整