2016-09-13 2 views
0

내가 오류의 URL은 "요청 된 URL이 라우팅 일치 수 없습니다"수신 오전 : 입력을 소독하기 위해 http://domain.com/blog/entry/august/18/2016/9/6/14ZF2 라우팅 오류

내가 라우팅 매우 특별한 존재하고 있습니다. 각 제약 조건에 대해 수용 할 수있는 입력을 "정의"하고 싶습니다. 제 실수는 제약 조건과의 불일치라고 생각합니다.

'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' 
     ] 
    ] 
], 

답변

1

그 제약을가 정규 표현식에 있습니다

내 경로는 다음과 같습니다 그것은, 내가 눈의 신선한 세트가 명확하지가 필요합니다. 숫자의 경우 [0-9]를 사용합니다. 1에서 2 자리 사이 여야한다고 말하면 {1,2}를 사용하십시오. 정확하게 4 (year) 동안 당신은 {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' 
     ] 
    ] 
],