AI编程助手
AI免费问答

thinkphp框架下404页面设置 - 申文哲

  2016-05-20 10:13   1310浏览 原创

404页面即系统在找不到请求的操作方法和找不到请求的控制器名称时的一种报错行为的优化。

第一步:在thinkphp框架中的Home/Comtroller中建一个EmptyController.class.php,其代码如下:

<span style="color: #000000;"><?php<br />namespace Home\Controller;<br />use Think\Controller;<br />class EmptyController extends Controller{<br />    <br />  //空操作_empty()方法<br />    function _empty(){<br />        header("HTTP/1.0 404 Not Found");<br />        $this -> display("Public:404");<br />    }<br />    <br />    function index(){<br />        header("HTTP/1.0 404 Not Found");<br />        $this -> dislay("Public:404");<br />    }<br />}<br />?></span><span style="color: #000000;"><br /></span>

注意:其中 header("HTTP/1.0 404 Not Found")是定义此状态码未404。

第二步:在thinkphp框架中的Home/Comtroller中建一个公共的类PublicController.class.php,其代码如下:

 

<?<span style="color: #000000;">php
namespace Home\Controller;
</span><span style="color: #0000ff;">use</span><span style="color: #000000;"> Think\Controller;
</span><span style="color: #0000ff;">class</span> PublicController <span style="color: #0000ff;">extends</span><span style="color: #000000;"> Controller{
    </span><span style="color: #0000ff;">function</span><span style="color: #000000;"> _empty(){
        </span><span style="color: #008080;">header</span>("Location:/bbs/thinkphp/404.html"<span style="color: #000000;">);
    }
}
</span>?>

 

注意:其中 header("Location:/bbs/thinkphp/404.html")中的/bbs/thinkphp/404.html是你出现404后页面跳转的地址,需和自己的404.html页面放置位对应。

第三步:让其他控制器全部继承 第二步中的PublicController.class.php,比如:

 

<?<span style="color: #000000;">php
namespace Home\Controller;
</span><span style="color: #008000;">//</span><span style="color: #008000;"> use Think\Controller;</span>
<span style="color: #0000ff;">class</span> IndexController <span style="color: #0000ff;">extends</span><span style="color: #000000;"> PublicController {
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> index(){
    
        </span>*
        *
        *<span style="color: #000000;">
         }
}
?</span>>

 

注意:将use Think\Controller;注释掉

(完成)

php免费学习视频:立即学习
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。