symfony 如何“通配所有内容”路线

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

我想通过以下方式在 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 routes
1个回答
7
投票

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

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

在 (Symfony 3) 之前,它是

pattern
而不是
path
:

© www.soinside.com 2019 - 2024. All rights reserved.