nginx + php7.0 返回状态码永远是200
程序员文章站
2022-06-01 15:17:12
...
在windows上配置好了nginx+php的环境
但是在php中通过
但是在php中通过
header('http/1.1 403 Forbidden');
来尝试返回403缺没用,看浏览器接收到header,状态码却是200。再尝试了
http_response_code(403);
或者laravel的
Response::json($res,403);
全部都无效,永永远远地返回200的状态码?这是怎么回事?怎么才可以改变状态码?
回复内容:
在windows上配置好了nginx+php的环境
但是在php中通过
header('http/1.1 403 Forbidden');
来尝试返回403缺没用,看浏览器接收到header,状态码却是200。再尝试了
http_response_code(403);
或者laravel的
Response::json($res,403);
全部都无效,永永远远地返回200的状态码?这是怎么回事?怎么才可以改变状态码?
LZ你好,我刚刚试过我的环境,没问题,估计是你Laravel中调错了。
实验1:
//test.php
浏览器测试:
实验2:
在Laravel的IndexController.php中新建test动作
public function test(){
return (new Response('页面禁止访问', 403))->header('Content-Type', 'text/html');
}
浏览器测试:
把php.ini里面的
cgi.rfc2616_headers = 1;
改成
cgi.rfc2616_headers = 0;
上一篇: PHP 杂谈 坑爹的file
推荐阅读
-
Nginx中定义404页面并且返回404状态码的正确方法
-
IIS下自定义404页面返回200状态码的严重性及解决方法
-
网站404错误页返回200状态码的不利影响及解决方法
-
Nginx中定义404页面并且返回404状态码的正确方法
-
很bt的服务器配置有关问题。如果访问不存在的xx.html?正常返回404,但如果访问的是php扩展名如?xx.php?就返回空白页了(状态码200)!wi
-
nginx + php7.0 返回状态码永远是200
-
nginx + php7.0 返回状态码永远是200
-
Nginx HTTP返回状态码修改
-
Nginx HTTP返回状态码修改
-
IIS下自定义404页面返回200状态码的严重性及解决方法