带文件扩展名的ZF2段路由

时间:2016-08-05 15:19:26

标签: zend-framework2

我有一个返回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')
        ]
    ]
],

2 个答案:

答案 0 :(得分:0)

这是使用Regex路线(未经过完全测试)的示例:

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

请参阅文档:https://framework.zend.com/manual/2.4/en/modules/zend.mvc.routing.html#zend-mvc-router-http-regex

答案 1 :(得分:0)

您可以将其调整为:

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

请注意参数

后的额外: