首頁  >  文章  >  後端開發  >  PHP專案統一設定404頁面(包括yii框架下)

PHP專案統一設定404頁面(包括yii框架下)

WBOY
WBOY原創
2016-08-08 09:31:321112瀏覽
一、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>  

以上就介紹了PHP計畫統一設定404頁面(包括yii框架下),包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn