2014-07-26 1 views
1

Yii에서 요청을 라우팅하는 동안 문제가 있습니다. urlManager 규칙은 다음과 같은 : 나는 api/compare 링크를 누르더라도Yii 다른 경로로 요청을 라우팅 할 수 없습니다.

'rules'=>array(

       array('api/index', 'pattern'=>'api/<model:\w+>/<id:\d+>/*', 'verb'=>'GET'), 
       array('api/shortlist', 'pattern'=>'api/<action>/<model:\w+>/*', 'verb'=>'GET'), 
       array('api/compare', 'pattern'=>'api/<action>/<model:\w+>/*', 'verb'=>'GET'), 

       '<controller:\w+>/<id:\d+>'=>'<controller>/view', 
       '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>', 
       '<controller:\w+>/<action:\w+>'=>'<controller>/<action>', 
      ), 

내 요청이 api/shortlist로 라우팅 얻을.

내가 여기서 뭐라구?

답변

0

본인의 shortlistcompare 규칙의 패턴은 같습니다.

따라서 처음에 배치 된 규칙은 둘 다 일치하고 두 번째 규칙은 실행되지 않습니다.

귀하의 api/compare 규칙은 위의 규칙이 동일하고 처음으로 일치하므로 규칙에 일치/조회되지 않습니다.

당신은 충돌 방지하기 위해이 같은 짓을해야

:

'api/shortlist' => 'api/shortlist/<action>/<model:\w+>/*', 
'api/compare' => 'api/compare/<action>/<model:\w+>/*', 
관련 문제