首页  >  文章  >  后端开发  >  php中302是什么错误

php中302是什么错误

青灯夜游
青灯夜游原创
2022-04-22 16:36:145335浏览

在php中,302不是错误,而是HTTP响应状态码,意思为“临时重定向”,表示被访问页面因为各种需要被临时跳转到其他页面;可利用header()来实现302跳转,语法“header('Location: 跳转url',true,302)”。

php中302是什么错误

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

302 代表暂时性转移(Temporarily Moved ),是HTTP响应状态码并不是错误。

302是临时重定向的意思,表示被访问页面因为各种需要被临时跳转到其他页面。

在php中,可以利用header()来实现302跳转。

有两种语法格式:

  • 语法格式1:

header('HTTP/1.1 302 Moved Permanently');
header('Location: https://www.php.cn');
  • 语法格式2:

header('Location: https://www.php.cn', true, 302);

额外再提一句,如果要自适应HTTPS/HTTP的话,这样就可以了:

header('Location: //www.php.cn', true, 302);

扩展知识:

HTTP--3xx(重定向)响应状态码

要完成请求,需要进一步操作。通常,这些状态码用来重定向。Google 建议您在每次请求中使用重定向不要超过 5 次。您可以使用网站管理员工具查看一下 Googlebot 在抓取重定向网页时是否遇到问题。诊断下的网络抓取页列出了由于重定向错误导致 Googlebot 无法抓取的网址。

  •   300(多种选择): 针对请求,服务器可执行多种操作。服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。

  •   301(永久移动): 请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。您应使用此代码告诉 Googlebot 某个网页或网站已永久移动到新位置。

  •   302(临时移动): 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来响应以后的请求。此代码与响应 get 和 head 请求的301代码类似,会自动将请求者转到不同的位置,但不应使用此代码来告诉googlebot某个网页或者网站已经移动,因为googlebot会继续抓取原有位置并编制索引。

  •    303(查看其它位置): 请求者应当对不同位置使用单独的 get 请求来检索响应时,服务器返回此代码。对于出head之外的所有请求,服务器会自动转到其它位置;

  •    304(未修改): 自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容;如果网页自请求者上次请求后再也没有更改过,应将服务器配置为返回此响应(称为if-modified-Since HTTP标头)。服务器可以告诉 googlebot 自从上次抓取后网页没有变更,进而节省带宽和开销。

  •    305(使用代理): 请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理。

  •    307(临时重定向): 服务器目前从不同位置的网页响应请求,但请求者应该继续使用原有位置来响应以后的请求,此代码与响应 get 和 head 请求的8aa2918506a11e8a886e85949f1eb0795db79b134e9f6b82c0b36e0489ee08ed代码类似,会自动将请求者转到不同的位置,但不应该 告诉googlebot 某个页面或者网站已经移动,因为 googlebot 会继续抓取原有位置并编制索引。

PHP header 的7种用法

1.  跳转页面

header('Location:'.$url);  //Location和":"之间无空格。

2.  声明content-type

header('content-type:text/html;charset=utf-8');

3.  返回response状态码

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

4. 在某个时间后执行跳转

header('Refresh: 10; url=http://www.php.cn/');  //10s后跳转。

5. 控制浏览器缓存

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

6. . 执行http验证

header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Top Secret"');

7. 执行下载操作

header('Content-Type: application/octet-stream'); //设置内容类型
header('Content-Disposition: attachment; filename="example.zip"'); //设置MIME用户作为附件
header('Content-Transfer-Encoding: binary'); //设置传输方式
header('Content-Length: '.filesize('example.zip')); //设置内容长度

推荐学习:《PHP视频教程

以上是php中302是什么错误的详细内容。更多信息请关注PHP中文网其他相关文章!

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