如果网页不存在,我应该返回哪些标题?

Luk*_*uke 2 php http

当您的网站上不存在某个网页时会发生什么?如果我在.htaccess中设置了自定义错误页面,我会获得302临时重定向到我的404页面(我发送404标题).它应该如何工作?或者我应该将301永久重定向到错误页面?我正在使用php和Apache.

Que*_*tin 7

如果它从未存在过,你应该发送404 Not Found.

如果它曾经存在,但不再存在,你应该发送410 Gone.

设置服务器以直接发送错误响应.

您不应该重定向到错误页面.这基本上意味着谈话将会:

  • 浏览器:我可以拥有/ foo吗?
  • 服务器:您可以在/ bar找到/ foo!
  • 浏览器:我可以/吧吗?
  • 服务器:我找不到/吧.

诱饵和开关永远不会好.


Dan*_*man 5

不存在的页面没有"暂时移动"(301)或"永久移动"(302)到关于不存在的文件的页面,它不存在.要发送的正确标头是404,而不是其他任何标头.

不要在任何地方重定向,而是在请求的URL上提供"找不到文件"页面内容.