时间:2021-07-01 10:21:17 帮助过:28人阅读
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;