Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 基于mvc的php404状态处理_Apache_.htaccess_Http Headers_Php - Fatal编程技术网

Apache 基于mvc的php404状态处理

Apache 基于mvc的php404状态处理,apache,.htaccess,http-headers,php,Apache,.htaccess,Http Headers,Php,可能重复: 您好,我无法为不在我的站点中的页面获取404状态代码。我的.htaccess如下所示: 重新启动发动机 重写cond%{REQUEST_FILENAME}-已重写COND%{REQUEST_FILENAME} !-f RewriteCond%{REQUEST_FILENAME}-l 重写规则^(+)$index.php?url=$1[QSA,L] 所以我所有的页面都会转到index.php,从那里它们会转到引导,然后它会被发送到错误控制器。在错误视图中,创建一个: 标题(“未找到H

可能重复:

您好,我无法为不在我的站点中的页面获取404状态代码。我的.htaccess如下所示:

重新启动发动机

重写cond%{REQUEST_FILENAME}-已重写COND%{REQUEST_FILENAME} !-f RewriteCond%{REQUEST_FILENAME}-l

重写规则^(+)$index.php?url=$1[QSA,L]

所以我所有的页面都会转到index.php,从那里它们会转到引导,然后它会被发送到错误控制器。在错误视图中,创建一个:

标题(“未找到HTTP/1.1 404”)

但它给了我一个错误,即“无法修改标题信息-标题已由发送”。现在,如果我删除这一行,我的状态是200 Ok。我想这是因为我将所有内容发送到index.php,状态为200 Ok。那么,如何使这些文件与.htaccess不同呢?或者你有别的办法来解决这个问题吗?
谢谢

可能您将HTTP头发送到了错误的位置

如果您使用的是MVC PHP框架,那么您需要阅读框架的文档,以完全了解调度、路由和请求处理过程。答案取决于框架。必须有关于处理请求和发送头的信息

如果没有,那么index.php和bootstrap文件是您自己的,您需要尝试在bootstrap文件或控制器级别(error controller?)而不是视图文件中发送404头。视图层是在MVC结构中发送头的一个不好的地方


另外,在发送标题之前,不要忘记确保没有向客户端发送任何输出。

除了foozy的答案,在打开之前检查PHP代码是否有任何空格(空格、制表符、换行符等)
hy我尝试在引导或errorController中输入index.PHP,但没有得到好的结果。在本系列教程之后,我制作了我的mvc。我已经在那里发布了一个问题,但现在是anwser。谢谢这真的帮了我的忙:D在“好听的问题”解决之前,我有一些空间。=)