2012-04-16 10 views
1

このURLを使用してYiiのURLにアクセスします。www.example.com/detail/postYiiでのURLの書き換え

私はこのURLを処理することができるはずのいずれかのパラメータが値postを持つか、何らかのアクションに名前付きパラメータdetailと値postを持つアクションdetailします。

createUrlについてのYiiのドキュメントを読みましたが、理解できませんでした。

答えて

2

は、私は、これはあなたが探しているものだと思います。(あなたのコントローラーの名前が何であれにコントローラ/詳細を述べている部分の変更コントローラ)次へ

更新main.php

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

基本的には、詳細/番号の形式のリクエストがコントローラに送られ、アクション「詳細」を使用して「投稿」という変数を渡すとYiiに伝えます。

+0

私は多くの助けになりました。 – Arif

0

あなたはモッズ書き換えが有効になっていると

php_value upload_max_filesize 1M 
DirectoryIndex index.php 

Options +FollowSymlinks 
RewriteEngine on 

# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# otherwise forward it to index.php 
RewriteRule . index.php 

あなたのhtaccessファイルに次のように配置し、あなたのconfig/main.phpファイルの「urlManager」配列に以下を追加したい場合は、次の

'showScriptName'=>false, 

あなたのURLからindex.phpを削除し、domain.com/controller/actionの形でURLを表示するようにしてください。