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 回答