我想使用单个路由模式构建以下 URI
1 hello/first.format
2 hello/first
3 hello/first/last.format
4 hello/first/last
其中first是必需的,last和format是可选的。
这是我尝试过的:
hello-route:
pattern: /hello/{fist_name}/{last_name}.{_format}
defaults: { _controller: AcmeHelloBundle:Default:index, last_name:Default, _format:html}
requirements:
_format: html|rss|json
first_name: \w+
last_name: \w+
但不正确,因为它匹配 2、3 和 4 但不匹配 1。1 不会失败,但尽管有要求,它仍会将 {first_name} 匹配为“first.format”。
如何使用基本路由来做到这一点?