ZF2 路由错误

ZF2 Routing Error

我收到 URL 的错误 "The requested URL could not be matched by routing":http://domain.com/blog/entry/august/18/2016/9/6/14

我对路由非常具体,以帮助清理输入。我想 "define" 每个约束的可接受输入。我认为我的错误是某种类型的与约束不匹配。这不明显,我需要一双新眼睛:

我的路线如下:

'blog-entry' => [
    'type'    => 'segment',
    'options' => [
        'route'    => '/blog/entry/[:month_reference]/[:day_reference]/[:year_reference]/[:hour_reference]/[:minute_reference]/[:second_reference]',
        'constraints' => [
            'month_reference'  => '(january|february|march|april|may|june|july|august|september|october|november|december)',
            'day_reference'    => '[1-31]',
            'year_reference'   => '[0-9]*',
            'hour_reference'   => '[0-23]',
            'minute_reference' => '[0-59]',
            'second_reference' => '[0-9]*',
        ],
        'defaults' => [
            'controller' => 'Actsministries\Blog\Controller\Blog',
            'action'     => 'blogentry'
        ]
    ]
],

这些约束是正则表达式。对于数字,您可以使用 [0-9]。要告诉它必须在 1 到 2 位数字之间,您可以使用 {1,2}。对于恰好 4(年),您将使用 {4}。

'blog-entry' => [
    'type'    => 'segment',
    'options' => [
        'route'    => '/blog/entry/[:month_reference]/[:day_reference]/[:year_reference]/[:hour_reference]/[:minute_reference]/[:second_reference]',
        'constraints' => [
            'month_reference'  => '(january|february|march|april|may|june|july|august|september|october|november|december)',
            'day_reference'    => '[0-9]{1,2}', // Between 1 and 2 digits
            'year_reference'   => '[0-9]{4}',   // Exactly 4 digits
            'hour_reference'   => '[0-9]{1,2}',
            'minute_reference' => '[0-9]{1,2}',
            'second_reference' => '[0-9]{1,2}',
        ],
        'defaults' => [
            'controller' => 'Actsministries\Blog\Controller\Blog',
            'action'     => 'blogentry'
        ]
    ]
],