分享好友 教程首页 教程搜索 频道列表

PHP返回404状态码

2019-07-05 16:3916190
+关注29
核心提示:1. 通过header()方法来实现, 最简单的方法,而且对php的版本没什么限制 ?phpheade...

1. 通过header()方法来实现,

   最简单的方法,而且对php的版本没什么限制

   <?php

         header('HTTP/1.1 404 Not Found');

         header("status: 404 Not Found");

   ?>

   当服务器设置了404页面后,访问该php就会自动返回404状态及404页面。

 

2. 使用http_response_code()方法,

     如果你的php版本大于5.4的话,可以使用这个新增的方法

    <?php

        http_response_code(404);

    ?>

 

    注意:如果你的版本低于5.4,但是你又非得使用http_response_code(),下面是这个方法的代码

<?php

    if (!function_exists('http_response_code')) {
        function http_response_code($code = NULL) {

            if ($code !== NULL) {

                switch ($code) {
                    case 100: $text = 'Continue'; break;
                    case 101: $text = 'Switching Protocols'; break;
                    case 200: $text = 'OK'; break;
                    case 201: $text = 'Created'; break;
                    case 202: $text = 'Accepted'; break;
                    case 203: $text = 'Non-Authoritative Information'; break;
                    case 204: $text = 'No Content'; break;
                    case 205: $text = 'Reset Content'; break;
                    case 206: $text = 'Partial Content'; break;
                    case 300: $text = 'Multiple Choices'; break;
                    case 301: $text = 'Moved Permanently'; break;
                    case 302: $text = 'Moved Temporarily'; break;
                    case 303: $text = 'See Other'; break;
                    case 304: $text = 'Not Modified'; break;
                    case 305: $text = 'Use Proxy'; break;
                    case 400: $text = 'Bad Request'; break;
                    case 401: $text = 'Unauthorized'; break;
                    case 402: $text = 'Payment Required'; break;
                    case 403: $text = 'Forbidden'; break;
                    case 404: $text = 'Not Found'; break;
                    case 405: $text = 'Method Not Allowed'; break;
                    case 406: $text = 'Not Acceptable'; break;
                    case 407: $text = 'Proxy Authentication Required'; break;
                    case 408: $text = 'Request Time-out'; break;
                    case 409: $text = 'Conflict'; break;
                    case 410: $text = 'Gone'; break;
                    case 411: $text = 'Length Required'; break;
                    case 412: $text = 'Precondition Failed'; break;
                    case 413: $text = 'Request Entity Too Large'; break;
                    case 414: $text = 'Request-URI Too Large'; break;
                    case 415: $text = 'Unsupported Media Type'; break;
                    case 500: $text = 'Internal Server Error'; break;
                    case 501: $text = 'Not Implemented'; break;
                    case 502: $text = 'Bad Gateway'; break;
                    case 503: $text = 'Service Unavailable'; break;
                    case 504: $text = 'Gateway Time-out'; break;
                    case 505: $text = 'HTTP Version not supported'; break;
                    default:
                        exit('Unknown http status code "' . htmlentities($code) . '"');
                    break;
                }

                $protocol = (isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0');

                header($protocol . ' ' . $code . ' ' . $text);

                $GLOBALS['http_response_code'] = $code;

            } else {

                $code = (isset($GLOBALS['http_response_code']) ? $GLOBALS['http_response_code'] : 200);

            }

            return $code;

        }
    }

?>

本文标签: #404 #状态码
整理员:小黑
免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
生成海报
您可能在找更多

宝塔怎么设置404页面

小黑 宝塔面板2018-11-03

DESTOON开启https ssl 后台登录错误和公司首页404解决方法

    destoon开启https ssl 后台登录错误解决方法修改include/global.func.php文件

小黑 destoon漏洞维护2017-10-20

DESTOON在win服务器环境下404页面设置方法

    404页面是指访问的页面不存在时,系统显示的界面,设置404页面可以提高用户体验和增加访客继续访问的可能性。Apache服务器在站点里设置 Errordocument 404 /404.phpIIS服务器在站点属性,自定义错误类型404里选择URL,填写/404.php设置成功之后,访问不存在或者删除的页面将显示如下页面:

小黑 程序相关2016-02-08

下一篇
我来说两句
抢沙发