我想显示 404 错误页面,因为我在 protected/view/system 文件夹中创建了 error404.php 文件。
默认情况下,我有 Sitecontroller,它包含错误操作功能,如下所示
public function actionError()
{
if($error=Yii::app()->errorHandler->error)
{
if(Yii::app()->request->isAjaxRequest)
echo $error['message'];
else
$this->render('error', $error);
}
}
在主配置文件中,它被定义为
'errorHandler'=>array(
// use 'site/error' action to display errors
'errorAction'=>'site/error',
),
我的问题是我只需要自定义 404 页面,其余的错误我需要处理站点控制器的错误函数处理的方式。但我找不到办法做到这一点。如果假设我从配置主目录中删除 'errorAction'=>'site/error',那么它会通过调用显示 404 错误
throw new CHttpException(404, 'Page not found');
但是这样做我只能看到没有布局的页面,其他自定义错误也被视为与 404 相同,而它们不是。我多次阅读手册但我仍然无法解决它。