Thinkphp3/Thinkphp2对404页面的处理方法(利用empty空操作来处理)

2015年10月06日 | 1402

404页面是我们程序开发过程中,必须要解决的,需要把404页面引导到指定的页面当中的。

而我们制作好404页面后,如何在Thinkphp框架中,让不存在的控制器或方法引导到我们自己指定的页面当中呢?

1、首先先在Lib/下建立一个EmptyAction.class.php 控制器。
内容如下:

PHP Code复制内容到剪贴板

  1. /** 

  2.  * @空操作 404等错误 

  3.  * @author  it动力 http://www.itokit.com 

  4.  */  

  5. class EmptyAction extends CommonAction {  

  6.     public function _initialize(){  

  7.          parent::_initialize();  

  8.     }  

  9.       

  10.     public function index() {  

  11.         $this->_empty();  

  12.     }  

  13.       

  14.     public function _empty() {  

  15.         header(\'HTTP/1.1 404 Not Found\');  

  16.         $this->display(\'Public:404\');  

  17.     }  

  18. }  

注意:因为前台我们都是继承CommonAction里的控制器的,而不是默认的Action。

2、这样处理好后,空模块都可以引导到我们的Public/404.html页面当中,但是我们如果是点击了‘不存在的方法’的话,就需要对我们的CommonAction.class.php增加一个空方法了。方法如下:

PHP Code复制内容到剪贴板

  1. /** 

  2.  * @处理所有没有的方法的处理方法,引导到404页面 

  3.  * @author it动力 

  4.  */  

  5. public function _empty() {  

  6.     R(\'Empty/_empty\');  

  7. }  

这样就完全OK的了。只要点击或者输入了不存在的‘控制器’或‘方法’,都会引导到我们指定的404页面的了。