2011-12-24 6 views
2

WebルートにYiiアプリケーションを作成しました。私はGiiモジュールを有効にし、.htaccessを修正してurlのindex.php部分を削除しました。Yiiフレームワークで定義されたGiiのルートはどこにありますか?

また、urlManagerコンポーネントがconfig/main.php設定ファイルで定義されています。

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

私はブラウザにhttp://www.mydomain.com/giiを入力すると、私はhttp://www.mydomain.com/gii/default/loginにリダイレクトされます。

urlManagerには、一致するURLはありません。rulesです。これは、Yiiが一致するURLルールを見つけることができない場合、一致するモジュールを探し始めることを意味しますか?

+0

¿問題は何ですか?...¿問題がありますか? http://www.mydomain.com/gii/default/loginへのリダイレクトは予期せぬものでしたか?あなたは何を期待しましたか? –

+0

@AlfredoCastañedaGarcía問題は、 'gii'はモジュール名、' default'はコントローラ名、 'login'はアクションです。 'gii/default/login'はそれに合ったルールパターンがなくてもまだ動作しますが、これは私が奇妙に感じるところです。 – bobo

答えて

3

ボボは、はい、それはマッチングモジュールを通して見て開始しYiiのように見えるん:それは通常の規則で始まり、その後、追加のモジュールをしようとするには、下に移動のよう

yii/framework/gii/GiiModule.php, Line 43 
* http://localhost/path/to/index.php?r=gii 
* 
* If your application is using path-format URLs with some customized URL rules, you may need to add 
* the following URLs in your application configuration in order to access GiiModule: 
* <pre> 
* 'components'=>array(
*  'urlManager'=>array(
*   'urlFormat'=>'path', 
*   'rules'=>array(
*    'gii'=>'gii', 
*    'gii/<controller:\w+>'=>'gii/<controller>', 
*    'gii/<controller:\w+>/<action:\w+>'=>'gii/<controller>/<action>', 
*    ...other rules... 
*  ), 
* ) 
*) 
* </pre> 

が見える(とそのコントローラ/アクション)その後。モジュールID(この場合はgii)を最初の部分として使用しているようです。

さらなる研究では、そうです。詳細は、Yii Module pageを参照してください。

+0

あなたは正しいと思われます。どうもありがとう。 – bobo

+0

確かに、喜んで助けてください。私はあなたの質問を見るまで、実際にどのように働いているのか考えなかった:-) – acorncom

0

あなたはどういう意味ですか? Giiはモジュールであり、CWebModuleのdefaultController proprertyが 'default'なのでGIを拡張し、必要に応じてカスタマイズすることができるので、デフォルトはURLです。

関連する問題