您的位置:首页 > 编程语言 > PHP开发

PHP项目统一设置404页面(包括yii框架下)

2015-01-07 17:08 621 查看
一、Apache + PHP制作自定义404页面的方法。

首先处理文件真的不存在的情况,方法是利用Apache的.htaccess定义,

方法是新建.htaccess,在.htaccess最开头加上:ErrorDocument 404 /404.php (/404.php是自定义404页面)。

二、在yii框架下设置

当请求的页面不存在时,yii会抛出一个CHttpException的异常,异常code为404,那么yii中是怎么处理该类异常的呢,有下面三种方法:

1、啥也不用做,yii会自己处理

当抛出该类异常时,yii会默认去渲染framework/view/下的 errorxxx.php(error404.php)模板文件

2、在protected/views/system下新建errorxxx.php,yii会去渲染该文件

3、配置异常处理器

在配置文件main.php中添加如下配置,设置异常处理控制器为site/error

'errorHandler'=>array(
// use 'site/error' action to display errors
'errorAction'=>'site/error',
),


然后在SiteController.php中添加,error控制器:

public function actionError()
{
if($error=Yii::app()->errorHandler->error)
{print_r($error);
if(Yii::app()->request->isAjaxRequest)
echo $error['message'];
else
$this->render('error', $error);
}
}


最后在view/site/ 下添加error.php模板文件:

<?php
$this->pageTitle=Yii::app()->name . ' - Error';
$this->breadcrumbs=array(
'Error',
);
?>

<h2>Error <?php echo $code; ?></h2>

<div class="error">
<?php echo CHtml::encode($message); ?>
</div>
来源:http://myfetish.cn/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php yii 框架 apache .htaccess