Symfony 4 路由:带有多个斜杠的多个参数?

Symfony 4 routing: multiple params with multiple slashes?

我已经尝试了一段时间,但运气不佳:

file_show:
    path: /{user}/file/{group}/{file}
    controller: Acme\Controller\File::show
    requirements:
        group: .+
        file: .+


# /john/file/acme/group/test/file.zip
# user: john
# group: acme/group
# file: test/file.zip

Symfony Router 是否支持像这样带有多个斜杠的多个参数?

No symfony 不支持多个参数,斜杠彼此直接相连,因为它不知道一个参数在哪里结束,下一个参数在哪里开始。

# /john/file/acme/group/test/file.zip
# user: john
# group: acme/group             
# file: test/file.zip           

也可以是

# /john/file/acme/group/test/file.zip
# user: john
# group: acme             
# file: group/test/file.zip  

您可以通过在参数之间使用不同的符号来解决此问题,并且不允许在参数中使用该符号。 docs