【发布时间】:2014-08-10 14:19:50
【问题描述】:
我目前在 Symfony2 中使用需求路径来匹配任何 URL 并适当地处理请求。例如"example.com/blog/posts/my-new-post" 会将路径blog/posts/my-new-post 返回到控制器,然后我将拆分并检查现有数据等。这工作正常,问题是路由的配置方式意味着它将始终返回相同的模板文件即使我设置了其他路线。
symfony_default_page:
path: /{path}
defaults: { _controller: SymfonyBundle:Default:page }
requirements:
path: "^.+"
但是,如果我想在 url 中调用 "forum" 或 "admin",它会自动使用上述路由配置。有没有办法排除特定路径并让适当的路由/控制器处理这些请求?
例如:
requirements:
path: "^ (exclude: "admin/" and "blog/") .+"
因此,如果 admin、admin/ 或 admin/other-areas 可以访问,它将使用它们的路由配置,如果它们不存在,则抛出 404。
【问题讨论】:
标签: php regex symfony routing yaml