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

ThinkPHP访问不存在的模块跳转到404页面的方法

2014-06-19 00:00 861 查看
首先在ACTION中新建一个文件EmptyAction.class.php,其代码如下:
<?php 
 class EmptyAction extends Action{ 
 function _empty(){ 
  header("HTTP/1.0 404 Not Found");//使HTTP返回404状态码 
  $this->display("Public:404"); 
 } 
 } 
 ?>


使用apache服务器的情况下需在apache中的网站配置中加入 ErrorDocument 404 /404.html 即可。

使用iis服务器的情况下需在iis中的IIS/ASP.net下设置404错误页面。

打开apache httpd.conf配置文件或者新建.htaccess配置文件

首先,修改应用程序根目录的设置,打开 “web.config” 文件编辑,在其中加入如下内容:
<configuration>
 <system.web>
 <customErrors mode=”On” defaultRedirect=”error.asp”>
 <error statusCode=”404″ redirect=”notfound.asp” />
 </customErrors>
 </system.web>
 </configuration>


注:上文例中“error.asp”为系统默认的404页面,“notfound.asp”为自定义的404页面,使用时请修改相应文件名。

然后,在自定义的404页面“notfound.asp”中加入:

<%
 Response.Status = “404 Not Found”
 %>


php的404页面:
if(//如果没有任何结果)
   {
   //以前是仅仅显示“该帖子已经不存在”的提示,现在是:
   require('/404.php');
   @header('HTTP/1.1 404 Not Found'');
   @header('Status: 404 Not Found');
   exit;
   }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: