2

YII urlManager に問題があります。urlFormat が「get」の場合、urlManager ルールが適用されません。ここに私のurlManagerコード

'urlManager' => array(
   'urlFormat' => 'get',
   'showScriptName' => true,
   //'appendParams'=>false,
   'hostInfo'=>'My Base Url',
   'secureHostInfo'=>'My Secured Base Url',
   'ssl'=>false,
   'class'=>'myUrlManager',
   'rules' => array(
       array(
           'class' => 'application.components.MyBaseUrlManager',
           'connectionID' => 'db',
       ),
       '<controller:\w+>/<action:\w+>/*'=>'<controller>/<action>',
    ),
),

ここで、myUrlManager は CUrlManager の拡張クラスであり、MyBaseUrlManager は CBaseUrlRule の拡張クラスです。

urlformat が「get」の場合、urlManager のルールにアクセスできますか?

前もって感謝します

4

1 に答える 1

0

ルールにアクセスできますが、これらは処理または適用されません。https://github.com/yiisoft/yii/blob/master/framework/web/CUrlManager.php#L214を参照してください:

protected function processRules()
{
    if(empty($this->rules) || $this->getUrlFormat()===self::GET_FORMAT)
        return;
    ...
于 2014-09-08T18:22:18.117 に答える