404 页面应该保留 URL 还是重定向?

mat*_*sko 3 html url error-handling http

当访问未找到的路径时,某些网站会保留 URL 路径,并且在加载页面时,它们只会显示错误标题、消息,并将 HTTP 状态代码设置为 404。

其他页面将其重定向到固定的 404 URL 路径,该路径同时显示内容和标题。

我的问题是:

  • URL 是否应该不更改,以便 URL 路径在 http 响应过期之前一直被分类为 404?
  • 是否应该始终有 404 状态代码?
  • 即使发生重定向,结果页面是否应该包含 404 状态代码?

或者返回 404 响应并包含指向专用 404 URL 的位置标头是否更好(我不确定是否可以混合重定向和 400 系列状态代码)?

Kev*_*son 5

如果您的服务器返回的页面是“未找到文件”,则应返回 404 错误。对于网络爬虫和其他人来说,添加重定向似乎毫无意义且令人困惑。

使用 Apache,如果您将其添加到 Web 服务器根目录下的 .htaccess 文件中,您可以保留原始 URL、返回 404 并显示自定义错误消息:

ErrorDocument 404 /notfound.html
Run Code Online (Sandbox Code Playgroud)

其中 notfound.html 是您的自定义错误页面。