【发布时间】:2018-03-24 12:44:45
【问题描述】:
我的 php 函数 http_response_code() 有问题。我在网站根目录的 htaccess 文件中设置了 ErrorDocument 404,以将每个错误调用重定向到 php 文件。在这个 php 文件中,我想在某些情况下将响应的标头设置为代码 200 OK。但这不起作用。 Chrome总是对我说状态码是404。
这是我的 .htaccess 文件的内容:
ErrorDocument 404 /abc.php
这是我的简单 abc.php 文件的内容:
<?php
http_response_code(200);
?>
Test
如果我使用其他代码,例如201, 301 或其他,它的工作原理。只有 200 个不工作。
这里是示例的链接:http://test.foxpage.de/abdfgsdfgsdfgsdfgsdf
有人可以帮我吗?
谢谢!!
【问题讨论】:
-
你在使用任何框架吗?
-
没有。对于一个测试用例,我只创建了 2 个包含您在上面看到的内容的测试文件。而且它不起作用。
-
可以是apache conf或者php.ini中的设置吗?
-
关于信息,我有这个版本:7.0.22-0ubuntu0.16.04.1
-
当您尝试运行此 url test.foxpage.de/abdfgsdfgsdfgsdfgsdf 时。它将尝试在您的网络服务器的根路径中查找文件 abdfgsdfgsdfgsdfgsdf(.php) 或 (.html)。它不会显示它会给出 404 响应,但是在您的 .htaccess 中,您配置为在发生 404 响应时显示 abc.php。但是当您运行 abc.php 时,它会给您 200 响应
标签: php .htaccess header http-response-codes