Yii url规则为主页

时间:2013-01-20 13:57:56

标签: yii yii-validation

'urlManager'=>array(
            'class'=>'application.components.UrlManager',
            'urlSuffix'=>'/',
            'baseUrl'=>'',
            'showScriptName'=>false,
            'urlFormat'=>'path',
            'rules'=>array(
                '<language:\w{2}>'   => 'page/index',
                ''   => 'page/index',
                '<language:\w{2}>/page/<alias:.*>' => 'pages/read',
            )

链接“/ en / page / index”工作正常 链接“/”和“/ en”返回错误“无法解析请求”页面/索引“。

规则有什么问题

'<language:\w{2}>' => 'page/index'
'' => 'page/index',  

UPD:

pagesController有一个动作:

public function actionRead($alias){

            //some php code...

            if($model==null)
            {
                throw new CHttpException(404,'page not found...');
            }else
            {
                $this->render('read',array('model'=>(object)$model));
            }

}

1 个答案:

答案 0 :(得分:0)

您的规则不起作用会重定向到page/index,这意味着他们将尝试访问PageController.php,并且在该控制器中,他们将尝试访问actionIndex 1}}。听起来你没有控制器PageController.php,更不用说那个控制器里的actionIndex了。

您需要修复这些规则的目标,以包含有效的控制器/操作组合。