【问题标题】:symfony how to "wildcard everything" routesymfony如何“通配符”路线
【发布时间】:2016-03-01 16:46:24
【问题描述】:

我想通过以下方式在 Symfony 中创建路由:/admin/_api/*/admin/*。所以,总的来说,我希望有如下配置:

/admin/_api/users
/admin/_api/posts
/admin/_api/comments
/admin/_api/* -> (AdminBundle:Error:api)
/admin/*  -> (AdminBundle:Error:html)

根据给定的配置,如果用户转到/admin/_api/test,路由器将分派到ErrorController::apiAction。如果用户转到/admin/users,它将分派到ErrorController:htmlAction

有没有办法做到这一点?

【问题讨论】:

    标签: php symfony routing


    【解决方案1】:

    也许可以根据需求尝试一下,在 routing.yml 中:

    ...
    all your routes that should match first
    ...
    admin_api_wildcard:
      pattern:  /admin/_api/{wildcard}
      defaults: { _controller: AdminBundle:Error:api }
      requirements:
          wildcard: .*
    

    在较新的 symfony 版本中,patternpath 取代:

    ...
    all your routes that should match first
    ...
    admin_api_wildcard:
      path:  /admin/_api/{wildcard}
      defaults: { _controller: AdminBundle:Error:api }
      requirements:
          wildcard: .*
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-27
      • 1970-01-01
      • 2019-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-04
      相关资源
      最近更新 更多