2011-12-03 16 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

と呼ばれる例がありますactionView $ _GET ['title']がpost_titleに設定されています...

希望に役立ちます。

1

、Yiiは唯一あなたが記事のタイトルを表示したい場合は、カスタムURLクラス規則でDBあなたの自己にアクセスする必要がある、ポストIDを盗ん。 Yiiのチュートリアルでは、あなただけのポストコントローラのにポスト/ POST_TITLEで始まる要求を転送するアプリを告げるこの

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

このように見えるのルールを持っている必要がありますusing-custom-url-rule-classes

関連する問題