Multiple pattern in single symfony routing
The easiest way is to duplicate the block and make 2 routes.
blog: pattern: / defaults: { _controller: AcmeBlogBundle:Blog:index, page: 1 }blog_index: pattern: /index defaults: { _controller: AcmeBlogBundle:Blog:index, page: 1 }
So you have the possibility to use both of them in your path if you need it.
Here you can see another post how to use regex in your routing. Perhaps you can write a simple regex, which checks whether index is set.
Edit:
If you work with annotations, which I prefer, then you can write more than one route over your Controller's Action method. Something like this:
/*** @Route("/");* @Route("/home");*/
When using YAML routes you can also use the node anchors expression syntax to reference an existing route definition.
&
specifies the first occurrence of an anchor, *
specifies the anchor to reference, <<
tells the Symfony yaml parser to merge the specified node.
blog: &blog path: / defaults: { _controller: AcmeBlogBundle:Blog:index, page: 1 }blog_index: <<: *blog path: /indexblog_page: <<: *blog path: /blog
Alternatively you can use anchors on a route attribute value.
blog: path: / defaults: &blog_defaults _controller: AcmeBlogBundle:Blog:index page: 1blog_index: path: /index defaults: *blog_defaultsblog_page: path: /blog defaults: *blog_defaults
However to prevent poor SEO due to duplicate content, it is recommended to use a redirect instead.
blog: path: / defaults: { _controller: AcmeBlogBundle:Blog:index, page: 1 }blog_index: path: /index defaults: &blog_redirect _controller: FrameworkBundle:Redirect:redirect route: blog permanent: trueblog_page: path: /blog defaults: *blog_redirect