2014-02-07 4 views
2

Symfony2에서 점이있는 경로를 중지하고 싶습니다. 그래서 예를 들면 :Symfony2 라우팅 - 제외 .html

/블로그/개발 (이 괜찮)
/blog/developm.ent
/blog/development.html (404 필요) (필요 404)

어떻게 yml을 사용하여이 작업을 수행합니까? symfony2에서

s_nerds_blog_category_page: 
    pattern: /blog/{category} 
    defaults: { _controller: SNerdsBlogBundle:Default:category } 

답변

4

경로 요구 사항 : 이것은 내가 위의 첫 번째 예를 들어이 무엇

당신이 요청 된 URL이 어떤 경로로 해결 얻을 일치해야 requirements 것을 정규식 추가 할 수 있습니다 :

# This example allows only digits (\d+) for {category} 

blog: 
    path:  /blog/{category} 
    defaults: { _controller: AcmeBlogBundle:Blog:index, category: 1 } 
    requirements: 
     category: \d+ 

Exluding 경로 포함하는 점 :

# matches only routes not containing a dot 

blog: 
    path:  /blog/{category} 
    defaults: { _controller: AcmeBlogBundle:Blog:index, category: 1 } 
    requirements: 
     category: ^[^\.]*$ 

설명 :

  1. ^ -
  2. [^\.]* 문자열
  3. 의 시작 - .를 제외한 모든 문자, 반복
  4. $의 수 - 문자열의 끝
+0

완벽한 그 덕분입니다. –