如果在数据库中找不到记录,我应该返回404吗?

Gee*_*Out 4 seo

我有像这样结构的页面some_page?id = 123

有时记录会被删除,但这些页面仍会被人和搜索引擎访问.一个问题是我有一个PHP脚本而没有MVC结构,所以我必须在同一页面上查询数据库才能发现用户记录不存在.

在那种情况下我应该退回404吗?或者什么是最佳做法?

谢谢!

Vet*_*elS 10

如果客户端(用户,搜索引擎等)请求不存在且从未存在的资源,则应返回404状态("未找到").

但是,如果请求的资源曾经存在并且已被永久删除,则应返回410状态("Gone").410状态明确指出该资源将来永远不可用,并触发搜索引擎从其索引中删除该页面.

如果资源的位置已永久更改,则使用301状态.


AHu*_*ist 5

404是找不到东西的时候,因为没有找到被查找的资源,所以对我来说似乎完全合适.