繁体   English   中英

您如何确保客户端获得404错误状态?

[英]How do you make sure the client gets the 404 error status?

这实际上是一个两部分的问题。 我的服务器设置为将Apache自身中的所有404错误重定向到index.php?404 这是否还会向客户端发送404状态消息以告知他们找不到该页面, 然后显示我自定义的404错误页面? 因为我在其他页面中也有流程。 虽然页面本身可能存在,但是如果用户名(例如)无效或不存在,它仅直接从文件中显示相同的404页面(包括404页面和模具)。 我是否应该使用PHP发送其他404状态以告知客户端该页面不存在,如果存在,我该怎么做?

编辑:
为了进一步说明上述问题:
admin.example.com-> admin是有效的用户名,将显示页面
madeup.example.com-> madeup是无效的用户名,将输出404页面
* .example.com重定向到index.php进行处理,因此搜索引擎等会认为该页面存在,因为已对其进行处理,然后我仅输出了404页面并杀死了脚本...

我最近遇到了一个问题,其中Google缓存了一个404错误的页面,因此我试图找出如何防止搜索引擎等在页面技术上存在时发送404页面时缓存或读取页面。 还有其他更好的选择吗?

如果4nn / 5nn错误页面的实际HTTP状态标头为200 OK ,那么它将被索引。

因此,您需要确保将其与正确的HTTP状态标头一起发送。 此错误通常是由发送重定向到错误页面而不是转发/包含导致的。 重定向基本上会指示客户端向服务器发送一个全新的请求,这将始终导致200 OK 您想以编程方式修改/设置错误页面内的标题,例如

header('HTTP/1.1 404 Not Found');

您可以使用FirebugWeb Developer Toolbar之类的工具确定实际的HTTP状态代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM