问题标签 [http-status-code-410]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4244 浏览

http - 当主题被删除时,我应该使用 404 Not found 还是 410 Gone 用于公告板系统?

我正在创建一个公告板系统,现在我正在为管理员实现“删除主题”功能。如果有人打开删除的主题,服务器找不到它,所以它一定是404。另一方面,主题已经存在一段时间,所以我必须使用410。实现410需要一个名为deleted_topics的新表,所以会需要更多空间。但是,我认为 410 更适合搜索引擎。你怎么看?我应该使用 404 还是 410?

404 未找到

服务器未找到任何与请求 URI 匹配的内容。没有说明这种情况是暂时的还是永久性的。如果服务器通过一些内部可配置的机制知道旧资源永久不可用并且没有转发地址,则应该使用 410 (Gone) 状态代码。当服务器不希望确切地揭示请求被拒绝的原因或没有其他响应适用时,通常使用此状态代码。

410 走了

请求的资源在服务器上不再可用,并且不知道转发地址。预计这种情况将被视为永久性的。具有链接编辑能力的客户端应该在用户批准后删除对 Request-URI 的引用。如果服务器不知道或无法确定条件是否是永久的,则应该使用状态代码 404(未找到)。除非另有说明,否则此响应是可缓存的。

410 响应的主要目的是通过通知接收者资源故意不可用并且服务器所有者希望删除到该资源的远程链接来协助 Web 维护任务。这种事件对于限时促销服务和属于不再在服务器站点工作的个人的资源很常见。不必将所有永久不可用的资源标记为“已消失”或将标记保留任意时间——这由服务器所有者自行决定。

谢谢,

0 投票
3 回答
8880 浏览

apache - .htaccess 将所有流量重定向到一页 (410 Gone)

我们有一个客户正在关门。我们希望将所有进入其域的流量重定向到新页面 index.html,其中 _img 子目录中有一些图像。(该页面解释了发生的事情,当前客户对当前订单的期望等)

我已经阅读了有关可能使用 HTTP 410 Gone 作为向机器人等技术解释该站点不存在、不回来并且不提供转发地址的最佳方式的信息。在 .htaccess 文件中执行此操作并将用户引导到新的 index.html 的最佳方法是什么?

0 投票
2 回答
550 浏览

seo - Http 状态码 301 到返回 410 的页面

客户要求我为该站点的先前版本中的某些 URL 返回 410 状态代码。

对于如何对此进行编程,我有两种选择(基于此请求范围之外的限制)

选项 1 这很容易实现:使用现有的旧 url 重定向器(301 状态代码)将所有这些 url 重定向到单个页面,并让该页面返回(410 状态)代码。

选项 2 更难实现:编写一个功能直接返回 410 状态码。

问题:谷歌(和其他人)会用选项 1 做正确的事吗?

0 投票
2 回答
683 浏览

php - 从雅虎服务器上的网站上传图像文件在尝试访问时会导致 410 消失错误消息

我有一个表格,可以让用户上传自己的照片。这似乎有效。上传后,照片确实存在于服务器上。当我尝试访问该文件时,我收到“403 禁止 - 您无权访问此服务器上的此 url”,并且我收到“此外,在尝试使用 ErrorDocument 处理时遇到 410 Gone 错误要求。”

这是我上传图片的代码。

0 投票
3 回答
9781 浏览

python - 如何在 Django 中引发 410 错误

我想为我的一些 Django 页面返回 410 错误,而不是返回 404。基本上,raise Http404('some error message')我不想调用,而是调用raise Http410('some error message')快捷方式。

我很困惑,因为在 django.http 中,函数 Http404 很简单:

因此,如果我做同样的事情并创建我的 Http410 函数,我会假设它看起来像:

但是,这样做会返回异常,但会提供 500 错误页面。如何重现 Http404 异常的魔力?我应该注意,我需要从我的模型(而不是视图)中引发异常,所以我不能只返回一个 HttpResponseGone。

提前致谢!

更新:我完全了解 HttpResponseGone 并在我原来的问题中提到了这一点。我已经知道如何在我的视图中返回它。我的问题是:如何引发 Http 410 异常,类似于引发 Http 404 异常?我希望能够在任何地方提出这个例外,而不仅仅是在我看来。谢谢!

0 投票
2 回答
950 浏览

coldfusion - Coldfusion 使用状态码 410 重定向页面

我的网站动态生成链接,一段时间后链接将过期并且不再有效。

我将这些链接重定向到一个带有状态码 301 的静态页面,这对于谷歌来说只意味着旧链接应该被这个新链接替换。

但我想要的是我应该能够将状态码设置为 410 并且应该能够将页面重定向到我的静态页面,以便搜索引擎应该从其索引中删除此类链接。

我面临的问题是通过设置标题

浏览器不会重定向到新位置。

0 投票
1 回答
752 浏览

c# - ASP.NET MVC 视图未在 prod 环境中返回

我有一个奇怪的问题,我正在寻找一些调试指针。从网站中删除页面后,我会执行以下操作:

在开发环境中它工作正常。在 prod 中,浏览器只打印:“您请求的页面已被删除。” 但视图未呈现。在两种环境中都会返回 410 状态。在某一时刻,这是在生产中工作,但我不知道什么时候。

IIS 是否有可能截获 410 返回码并打印此消息?如果是这样,这将在 IIS 中的哪个位置进行设置?你将如何调试这个?(我已将日志语句放入代码中,两种环境中的代码路径相同。)

0 投票
2 回答
249 浏览

google-search-console - 如何告诉谷歌我网站的特定页面消失并且不会回来?

我有一个网站,其中 50% 的页面具有有限的生命周期。

给出一个想法,每周出现 4.000 页,然后消失的数量相同。

“出现”和“消失”是指出现的页面是全新的,而消失的页面将永远从网站上删除。没有“这个新页面替换这个旧页面”。

我天真地在页面消失的每个 URL 上使用了 410 代码。意思是 url http://mywebsite/this-page-was-present-until-yesterday.php直到昨天才返回一个200 OK代码,现在返回一个410 Gone代码。

我没有使用 no redirect ,因为我想告诉用户他访问的 URL没有错,但是它已经过期了

问题是:谷歌不会承认这些信息。它仍在抓取页面,并且网站管理员工具会提醒我,好像页面已 404 损坏。这极大地影响了我的“声誉”。

我做错什么了吗 ?我应该如何进行?

0 投票
1 回答
282 浏览

http - 我可以让 Apache 更改响应状态代码吗?

我有大量服务都使用相同的代码块,并且当真正想要的是 410(消失)时,所有服务都错误地返回 406(不可接受)。不同之处不仅在于正确性,而且还对上游有其他影响,因为 410 可以缓存而 406 不能。

从长远来看,所有底层代码都必须进行更改和重新测试,这需要时间和金钱。

同时,如果我可以简单地将所有 406 响应更改为 410,因为它们通过 Apache 2.2 前端。

有没有人在这里让我快速获胜?

提前致谢。

0 投票
2 回答
3685 浏览

.htaccess - 410 状态码需要 mod_rewrite 帮助

?如果URL 上有任何状态代码,我想发送 410 状态代码。因为该站点仅适用于启用了 SEO 的 URL(Like www.domain.com/seo-enabled-urls)。

在 StatckOverflow 社区的支持下,这个 301 重定向非常有效:

以同样的方式,我想添加 410 消息代码,它将告诉 Google(如搜索引擎)永久删除,这样我们就不会遇到 SEO 未知或未找到 URL 的问题。

如果 URL 看起来像这样

我想保留相同的 URL,但只使用这样的 410 代码

请帮我。