欧美在线看视频免费|成人综合在线视频免费观看完整版|欧美成人精品高清在线播放,色综合久久久高清综合久久久,久久亚洲aⅴ精品网站婷婷,福利网站在线播放

帝國CMS動態(tài)頁面輸出“此信息不存在”時(shí)狀態(tài)碼改為404

2022-07-03 09:22:38   lyingjie
經(jīng)常使用帝國的朋友都知道,如果用帝國不生成靜態(tài)頁面,改用動態(tài)頁面時(shí),當(dāng)刪除了一條信息后,在點(diǎn)擊這個(gè)鏈接時(shí)會出現(xiàn)“此信息不存在”,百度抓取時(shí)狀態(tài)碼還是正常的200,那么百度爬蟲還會認(rèn)為此頁面為正常頁面,但當(dāng)我們刪除后,我們實(shí)際是要告訴百度百度此頁面已不存在,也就是狀態(tài)碼為404,而帝國的大神們沒有對此做除理,那么就需要我們自已來除理了。
我們分析動態(tài)頁面后知道正常情況當(dāng)ID不存在時(shí)會觸發(fā)printerror函數(shù),那么我們就可以真對printerror進(jìn)行除理,當(dāng)我們深入研究后發(fā)現(xiàn)一般情況下出發(fā)的函數(shù)傳入的參數(shù)如下:
if(!$classid||!$id||!$mid||!$tbname||InfoIsInTable($tbname))
{
        printerror('此信息不存在','',1,0,1);
}

printerror('錯誤提示信息','提示錯誤后跳轉(zhuǎn)的URL(可為空)','錯誤提示樣式','','');
那么錯誤提示樣式為1,我們可以從e/class/connect.php中找到printerror,并可以看到下內(nèi)容:

//錯誤提示
function printerror($error="",$gotourl="",$ecms=0,$noautourl=0,$novar=0){
        global $empire,$editor,$public_r,$ecms_config;
        if($editor==1){$a="../";}
        elseif($editor==2){$a="../../";}
        elseif($editor==3){$a="../../../";}
        else{$a="";}
        if($ecms==1||$ecms==9)
        {
                $a=ECMS_PATH.'e/data/';
        }
        if(strstr($gotourl,"(")||empty($gotourl))
        {
                if(strstr($gotourl,"(-2"))
                {
                        $gotourl_js="history.go(-2)";
                        $gotourl="javascript:history.go(-2)";
                }
                else
                {
                        $gotourl_js="history.go(-1)";
                        $gotourl="javascript:history.go(-1)";
                }
        }
        else
        {$gotourl_js="self.location.href='$gotourl';";}
        if(empty($error))
        {$error="DbError";}
        if($ecms==9)//前臺彈出對話框
        {
                @include $a.LoadLang("pub/q_message.php");
                $error=empty($novar)?$qmessage_r[$error]:$error;
                echo"<script>alert('".$error."');".$gotourl_js."</script>";
                db_close();
                $empire=null;
                exit();
        }
        elseif($ecms==8)//后臺彈出對話框
        {
                @include $a.LoadLang("pub/message.php");
                $error=empty($novar)?$message_r[$error]:$error;
                echo"<script>alert('".$error."');".$gotourl_js."</script>";
                db_close();
                $empire=null;
                exit();
        }
        elseif($ecms==7)//前臺彈出對話框并關(guān)閉窗口
        {
                @include $a.LoadLang("pub/q_message.php");
                $error=empty($novar)?$qmessage_r[$error]:$error;
                echo"<script>alert('".$error."');window.close();</script>";
                db_close();
                $empire=null;
                exit();
        }
        elseif($ecms==6)//后臺彈出對話框并關(guān)閉窗口
        {
                @include $a.LoadLang("pub/message.php");
                $error=empty($novar)?$message_r[$error]:$error;
                echo"<script>alert('".$error."');window.close();</script>";
                db_close();
                $empire=null;
                exit();
        }
        elseif($ecms==0)
        {
                @include $a.LoadLang("pub/message.php");
                $error=empty($novar)?$message_r[$error]:$error;
                @include($a."message.php");
        }
        else
        {
                @include $a.LoadLang("pub/q_message.php");
                $error=empty($novar)?$qmessage_r[$error]:$error;
                @include($a."../message/index.php");
        }
        db_close();
        $empire=null;
        exit();
}

既然找到了錯誤時(shí)輸出的內(nèi)容那么我們就可以在輸出內(nèi)容的最前面加入以下內(nèi)容:
@header("HTTP/1.0 404 Not Found.");
@header("status: 404 Not Found");
至于為什么要在最前面加大家可以去查下header使用手冊,這里就不在細(xì)說了。
修改后的內(nèi)容如下:

//錯誤提示
function printerror($error="",$gotourl="",$ecms=0,$noautourl=0,$novar=0){
        global $empire,$editor,$public_r,$ecms_config;
        if($editor==1){$a="../";}
        elseif($editor==2){$a="../../";}
        elseif($editor==3){$a="../../../";}
        else{$a="";}
        if($ecms==1||$ecms==9)
        {
                $a=ECMS_PATH.'e/data/';
        }
        if(strstr($gotourl,"(")||empty($gotourl))
        {
                if(strstr($gotourl,"(-2"))
                {
                        $gotourl_js="history.go(-2)";
                        $gotourl="javascript:history.go(-2)";
                }
                else
                {
                        $gotourl_js="history.go(-1)";
                        $gotourl="javascript:history.go(-1)";
                }
        }
        else
        {$gotourl_js="self.location.href='$gotourl';";}
        if(empty($error))
        {$error="DbError";}
        if($ecms==9)//前臺彈出對話框
        {
                @include $a.LoadLang("pub/q_message.php");
                $error=empty($novar)?$qmessage_r[$error]:$error;
                echo"<script>alert('".$error."');".$gotourl_js."</script>";
                db_close();
                $empire=null;
                exit();
        }
        elseif($ecms==8)//后臺彈出對話框
        {
                @include $a.LoadLang("pub/message.php");
                $error=empty($novar)?$message_r[$error]:$error;
                echo"<script>alert('".$error."');".$gotourl_js."</script>";
                db_close();
                $empire=null;
                exit();
        }
        elseif($ecms==7)//前臺彈出對話框并關(guān)閉窗口
        {
                @include $a.LoadLang("pub/q_message.php");
                $error=empty($novar)?$qmessage_r[$error]:$error;
                echo"<script>alert('".$error."');window.close();</script>";
                db_close();
                $empire=null;
                exit();
        }
        elseif($ecms==6)//后臺彈出對話框并關(guān)閉窗口
        {
                @include $a.LoadLang("pub/message.php");
                $error=empty($novar)?$message_r[$error]:$error;
                echo"<script>alert('".$error."');window.close();</script>";
                db_close();
                $empire=null;
                exit();
        }
        elseif($ecms==0)
        {
                @include $a.LoadLang("pub/message.php");
                $error=empty($novar)?$message_r[$error]:$error;
                @include($a."message.php");
        }
        else
        {
                @header("HTTP/1.0 404 Not Found.");
                @header("status: 404 Not Found");
                @include $a.LoadLang("pub/q_message.php");
                $error=empty($novar)?$qmessage_r[$error]:$error;
                @include($a."../message/index.php");
        }
        db_close();
        $empire=null;
        exit();
}
本站文章均為九腦科技摘自權(quán)威資料,書籍,或網(wǎng)絡(luò)原創(chuàng)文章,如有版權(quán)糾紛或者違規(guī)問題,請即刻聯(lián)系我們刪除,我們歡迎您分享,引用和轉(zhuǎn)載,我們謝絕直接復(fù)制和抄襲!感謝...
我們猜你喜歡