2012-12-31 3 views
0

저는 MongoID와 Yii의 URL 관리자에게 약간의 문제가 있습니다.MongoDB Yii와 URL 관리자

내가 같은 URL이있는 경우 :

http://www.example.com/article/1 

또는

http://www.example.com/article/view/1 

모든 작동합니다. 문제가 생겼습니다. 그래서 내 URL이 같이 MongoDB를 사용하고 있습니다 : 그것은 actionView을 갈 수처럼

http://www.example.com/article/50e18c655b0c4dce75000033 

또는 http://www.example.com/article/view/50e18c655b0c4dce75000033

그리고 각각의 시나리오는 404 찾을 수 없음 오류가 발생합니다. 는 config에서 내 URL 매니저는 다음과 같습니다

'urlManager'=>array(
      'urlFormat'=>'path', 
      'rules'=>array(
       '<controller:\w+>/<id:\d+>'=>'<controller>/view', 
       '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>', 
       '<controller:\w+>/<action:\w+>'=>'<controller>/<action>', 
       '<controller:\w+>/<action:\w+>/<id:\d+>/<cid:\d+>'=>'<controller>/<action>', 
      ), 
     ), 

은 무엇 나는이 잘못된 일을 오전과 내가 어떻게 MongoID이 식별자로 등록받을 수 있나요?

+0

'\ d +'는 16 진수가 아닌 10 진수와 일치합니다. – DCoder

+0

Hmmm이 부분은 내가 생각하기에 '', 숫자 만의 정규식입니다. 시도 :' '또는 무엇인가 – Sammaye

답변

0

같은 문제가있었습니다. Im 나의 경우에 그것은 초대 시스템이었고 정확하게 16 진수를 지배하는 것이 매우 중요했습니다. 왜냐하면 InviteController도 가지고 있기 때문입니다. 귀하의 경우

'invite/<invite_key:[a-fA-F0-9-]+>'=>'site/invite', 

내가 정말 어떻게 컨트롤러가 작동을 잘 모릅니다, 그것은 어쩌면 당신은 <cid:[a-fA-F0-9-]+><id:[a-fA-F0-9-]+>을 변경해야 뭔가이

'urlManager'=>array(
      'urlFormat'=>'path', 
      'rules'=>array(
       '<controller:\w+>/<id:\d+>'=>'<controller>/view', 
       '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>', 
       '<controller:\w+>/<action:\w+>/<id:[a-fA-F0-9-]+>'=>'<controller>/<action>', 
       '<controller:\w+>/<action:\w+>'=>'<controller>/<action>', 
       '<controller:\w+>/<action:\w+>/<id:\d+>/<cid:\d+>'=>'<controller>/<action>', 
      ), 
     ), 

처럼해야 가정합니다.

조금 더 일찍 해결책을 찾았 으면합니다. 그러나 구글은 몇 가지 요청에 대해이 점을 지적했다.