带文件夹的Symfony2路由(包含多个正向斜杠)
我希望在Symfony2中设置一些路由,但我很难为文件夹设置动态路由 我正在尝试设置接受以下内容的路由:/department/sub-department/sub-sub-department/product-url.html 从这条路线所有我需要的是产品的网址,其余的是更多的搜索引擎优化。我的问题是,一条路线的URL中可能有许多部门级别,因此我需要忽略产品URL之前的所有内容 看起来“/”是这里的问题所在,所以有没有办法避开斜杠 如果我不使用路线中的任何部门,我可以使用:带文件夹的Symfony2路由(包含多个正向斜杠),symfony,Symfony,我希望在Symfony2中设置一些路由,但我很难为文件夹设置动态路由 我正在尝试设置接受以下内容的路由:/department/sub-department/sub-sub-department/product-url.html 从这条路线所有我需要的是产品的网址,其余的是更多的搜索引擎优化。我的问题是,一条路线的URL中可能有许多部门级别,因此我需要忽略产品URL之前的所有内容 看起来“/”是这里的问题所在,所以有没有办法避开斜杠 如果我不使用路线中的任何部门,我可以使用: product:
product:
pattern: /{url}.html
defaults: { _controller: CompanyBundle:System:pageRequest }
所以,我基本上需要这样的东西:
product:
pattern: /{department}/{url}.html
defaults: { _controller: CompanyBundle:System:pageRequest }
其中,{department}可以是一个或多个具有正向斜杠的部门
这有可能吗?在以下网站上有一篇关于它的好文章: 您必须通过指定更宽松的正则表达式模式来明确允许/成为参数的一部分 在您的情况下,路线定义必须是
product:
pattern: /{department}/{url}.html
defaults: { _controller: CompanyBundle:System:pageRequest }
requirements:
department: ".+"
模式被解释为正则表达式,因此您可以像编写正则表达式一样编写它。
product:
pattern: /{url}.html
defaults: { _controller: CompanyBundle:System:pageRequest, department: ~ }
product_department:
pattern: /{department}/{url}.html
defaults: { _controller: CompanyBundle:System:pageRequest }
requirements:
department: '[\w\d\/\-]+'