2011-12-03 2 views
6

http://example.com/post/post_title처럼 표시 될 http://example.com/post/view/id/1 URL에 대한 규칙이 필요합니다. ID 번호 대신 게시물 이름이나 제목을 표시하고 싶습니다.Yii의 SEO 친화적 인 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>', 
     ), 
        'showScriptName'=>false, 
    ), 
+1

와 컨트롤러 액션이 필요

'post/<post_title:\w+>' => 'post/view' 

경우 간단한 규칙의하십시오. –

답변

3

라는 YII 튜토리얼의 예제가있다 actionView $ _GET [ 'title']이 (가) post_title로 설정되었습니다. ...

희망이 있습니다.

1

, YII는 당신이 게시물 제목을 표시하려면, 사용자 정의 URL 클래스 규칙에 DB를 자기에 액세스해야, 포스트 ID를 retreive :

내 설정은 다음과 같습니다 . 당신이 바로 포스트 컨트롤러의에 게시물/POST_TITLE로 시작하는 요청을 전달하는 응용 프로그램을 알려줍니다이

'post/<post_title:\w+>'=>'postController/view/title/<post_title>', 

과 같은 규칙이 필요 using-custom-url-rule-classes