使用 YAML 路由时,您还可以使用节点锚点表达式语法来引用现有路由定义。
&
指定锚点的第一次出现,*
指定要引用的锚点,<<
告诉Symfony yaml 解析器合并指定的节点。
blog: &blog
path: /
defaults: { _controller: AcmeBlogBundle:Blog:index, page: 1 }
blog_index:
<<: *blog
path: /index
blog_page:
<<: *blog
path: /blog
或者,您可以在路由属性值上使用锚点。
blog:
path: /
defaults: &blog_defaults
_controller: AcmeBlogBundle:Blog:index
page: 1
blog_index:
path: /index
defaults: *blog_defaults
blog_page:
path: /blog
defaults: *blog_defaults
但是,为了防止因重复内容而导致 SEO 不佳,建议改用重定向。
blog:
path: /
defaults: { _controller: AcmeBlogBundle:Blog:index, page: 1 }
blog_index:
path: /index
defaults: &blog_redirect
_controller: FrameworkBundle:Redirect:redirect
route: blog
permanent: true
blog_page:
path: /blog
defaults: *blog_redirect