0
'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',  

?

升级版:

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));
            }

}
4

1 回答 1

0

您不起作用的规则正在重定向到page/index,这意味着他们将尝试访问PageController.php,并且在该控制器中,他们将尝试访问actionIndex。听起来您既没有 controller PageController.php,更不用说actionIndex该控制器中的 an 。

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

于 2013-01-22T02:03:18.590 回答