注释路径页面子结构匹配两个路径

问题描述 投票:0回答:1

我正在尝试为处理我的应用程序中的页面的控制器创建路由注释。页面(读取:URL)结构可以是多层次的深度。但是它应该只接受整个路线的一个变量(slug)。我找到了一个添加多个@route语句的解决方案,但是一个带有特定slug的页面现在将匹配两个路由,我认为这将导致重复的内容SEO问题。我的问题是否有任何不会导致重复内容问题的解决方案?我还宁愿只有一个@route语句,比如/ {slug}

我还尝试在变量部分允许正斜杠(/)(symfony将其称为占位符)。

/**
  * @Route("/{slug}", name="page", methods={"GET"})
  * @Route("/information/{slug}", name="subpage", methods={"GET"})
  */

页面中的slug将匹配两个路径(重复内容问题)

php symfony annotations
1个回答
1
投票

你需要添加“slug”,see the docs的要求。

尝试排除路径“信息”,如下所示:

/**
  * @Route("/{slug}", name="page", methods={"GET"}, requirements={"slug"="^(?!information)$"})
  * @Route("/information/{slug}", name="subpage", methods={"GET"})
  */
© www.soinside.com 2019 - 2024. All rights reserved.