Symfony2 克隆路由

Symfony2 cloned routed

我正在尝试通过 2 条不同的路径访问 1 个资源:

api_v1:
    type:     rest
    prefix:   /api/v1
    resource: "@AppBundle/Resources/config/routing.yml"

app:
    type:     rest
    prefix:   /
    defaults: { _format: html }
    resource: "@AppBundle/Resources/config/routing.yml"

但是永远有理由让第二条路线覆盖第一条。当我 debug:router 我得到:

get_products    GET      ANY    ANY  /products.{_format}
post_products   POST     ANY    ANY  /products.{_format}
//etc...

但我期待

get_products    GET      ANY    ANY  /api/v1/products.{_format}
post_products   POST     ANY    ANY  /api/v1/products.{_format}
//etc...

get_products    GET      ANY    ANY  /products.{_format}
post_products   POST     ANY    ANY  /products.{_format}
//etc

我可能做错了什么?

您不能有 2 个同名的路线。在这种情况下,第二条路线会覆盖之前定义的同名路线,这正是您所描述的行为。

让 2 个 URL 指向完全相同的资源似乎也是错误的。使用(永久)重定向来处理此类情况。