Zend framework2 带文件扩展名的ZF2段路由

Zend framework2 带文件扩展名的ZF2段路由,zend-framework2,Zend Framework2,我有一个返回pdf文件的操作路径。现在,如果url包含文件扩展名.pdf,就可以了。如果我的路线的最后一部分不是一个区段,它应该可以工作,但在我的情况下不行 有效 'my_route' => [ 'type' => 'segment', 'may_terminate' => true, 'options' => [ 'route' => '/my-file.pdf', 'defaults' => [

我有一个返回pdf文件的操作路径。现在,如果url包含文件扩展名
.pdf
,就可以了。如果我的路线的最后一部分不是一个区段,它应该可以工作,但在我的情况下不行

有效

'my_route' => [
    'type' => 'segment',
    'may_terminate' => true,
    'options' => [
        'route' => '/my-file.pdf',
        'defaults' => [
            'action' => 'file'
        ]
    ]
],
不起作用

'my_route' => [
    'type' => 'segment',
    'may_terminate' => true,
    'options' => [
        'route' => '/my-file/:year.pdf',
        'constraints' => [
            'year' => '\d{4}'
        ],
        'defaults' => [
            'action' => 'file',
            'year' => date('Y')
        ]
    ]
],

这是一个使用正则表达式路由(未完全测试)的示例:

“我的路线”=>[
'type'=>'regex',
“may_terminate”=>true,
“选项”=>[
'route'=>'/my file/(?\d{4}).pdf?',
'约束'=>[
“默认设置”=>[
'操作'=>'文件',
“年”=>日期('Y')
]
]
],

请参阅文档:

您可以将其调整为:

'route' => '/my-file/:year:.pdf',

请注意,在参数

之后额外的
,您可能需要为此使用正则表达式路由。
'route' => '/my-file/:year:.pdf',