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在“好听的问题”解决之前,我有一些空间。=)