2010-07-30 5 views
0

cakePHP를 사용하기 시작했으며 경로를 사용하는 데 약간의 문제가 있습니다. 나는 어떤 종류의 카탈로그를 쇼핑하려고하지 않고있다. (쇼핑하지 않고 전자 상점 :)) "http://site.net/main_category/subcategory/subsubcategory-c154.htm"과 같은 URL을 갖고 싶다. -c는 카테고리를 의미하고 154는 지정된 카테고리의 ID이다. 이 유형의 URL을 하나의 컨트롤러에 전달하고 CategoriesController라고 말하면 경로는 다음과 같습니다.CakePHP 인수에 슬래시가있는 경로

Router::connect('/:categoryUrl', 
       array(
        'controller' => 'categories', 
        'action'=> 'display' 
       ), 
       array(
        ':categoryUrl' => '(.*)-c([0-9]+).htm' 
       ) 
      ); 

이 작동하지 않습니다. main_category가 첫 번째 슬래시 뒤에 오는 것처럼 "main_category"컨트롤러를 계속 찾습니다.

너희들도 (숙녀들도 물론)) 몇 가지 아이디어가 있습니까?

감사는 많은 kraklin

당신은 아마 하이픈을 탈출 할 필요가

답변

0

입니다. 이 문자는 preg_quote()으로 이스케이프 처리 된 문자 중 하나로 표시됩니다. 그리고 당신은 확실히 그 점을 벗어날 필요가 있습니다.

'(.*)\-c([0-9]+)\.htm' 
관련 문제