我的文件中有routing.yml为我的所有路由配置了一个prexif,如:
app:
resource: "@AppBundle/Controller/"
type: annotation
prefix: /{_locale}
requirements:
_locale: en|fr|es
有了这个,对于我的所有控制器,我都有_locale
前缀/en/buy
,/en/home
......
我有另一个控制器AjaxController
,我不需要使用此前缀,而是另一个:ajax
。
如何为所有控制器保留全局前缀_locale
,并为我的AjaxController使用另一个前缀?
谢谢!
答案 0 :(得分:1)
在symfony路由中,声明的最后一个规则是路由器使用的规则。我没有测试它,但我猜这样的东西应该可以工作:
app:
resource: "@AppBundle/Controller/"
type: annotation
prefix: /{_locale}
requirements:
_locale: en|fr|es
app_ajax:
resource: "@AppBundle/Controller/AjaxController.php"
type: annotation
prefix: /ajax
再次,我没有尝试过!但我很确定它会起作用。 我一般不喜欢这种做法,因为它依赖于路由器的行为,可能会通过版本改变......