• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

nginx + php7.0 返回状态码永远是200

php 搞代码 4年前 (2022-01-25) 48次浏览 已收录 0个评论
文章目录[隐藏]

在windows上配置好了nginx+php的环境
但是在php中通过

<code>header('http/1.1 403 Forbidden');</code>

来尝试返回403缺没用,看浏览器接收到header,状态码却是200。再尝试了

<code>http_response_code(403);</code>

或者laravel的

<code>Response::json($res,403);</code>

全部都无效,永永远远地返回200的状态码?这是怎么回事?怎么才可以改变状态码?

回复内容:

在windows上配置好了nginx

!本文来源gaodai.ma#com搞#代!码(网

搞gaodaima代码+php的环境
但是在php中通过

<code>header('http/1.1 403 Forbidden');</code>

来尝试返回403缺没用,看浏览器接收到header,状态码却是200。再尝试了

<code>http_response_code(403);</code>

或者laravel的

<code>Response::json($res,403);</code>

全部都无效,永永远远地返回200的状态码?这是怎么回事?怎么才可以改变状态码?

<body>

LZ你好,我刚刚试过我的环境,没问题,估计是你Laravel中调错了。

实验1:

<code>//test.php<?phpheader('http/1.1 403 Forbidden');</code>

浏览器测试:

实验2:
在Laravel的IndexController.php中新建test动作

<code>public function test(){        return (new Response('页面禁止访问', 403))->header('Content-Type', 'text/html');    } </code>

浏览器测试:

把php.ini里面的

<code>cgi.rfc2616_headers = 1;</code>

改成

<code>cgi.rfc2616_headers = 0;</code>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:nginx + php7.0 返回状态码永远是200

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址