我正在尝试为处理我的应用程序中的页面的控制器创建路由注释。页面(读取:URL)结构可以是多层次的深度。但是它应该只接受整个路线的一个变量(slug)。我找到了一个添加多个@route语句的解决方案,但是一个带有特定slug的页面现在将匹配两个路由,我认为这将导致重复的内容SEO问题。我的问题是否有任何不会导致重复内容问题的解决方案?我还宁愿只有一个@route语句,比如/ {slug}
我还尝试在变量部分允许正斜杠(/)(symfony将其称为占位符)。
/**
* @Route("/{slug}", name="page", methods={"GET"})
* @Route("/information/{slug}", name="subpage", methods={"GET"})
*/
页面中的slug将匹配两个路径(重复内容问题)
你需要添加“slug”,see the docs的要求。
尝试排除路径“信息”,如下所示:
/**
* @Route("/{slug}", name="page", methods={"GET"}, requirements={"slug"="^(?!information)$"})
* @Route("/information/{slug}", name="subpage", methods={"GET"})
*/