gpt4 book ai didi

c# - 发送 410 Gone header ,然后重定向

转载 作者:行者123 更新时间:2023-11-30 20:06:37 25 4
gpt4 key购买 nike

我有一个页面可以检查用户是否登录或文件是否公开,然后通过 Response.WriteFile 将 PDF 推送到浏览器。

效果很好,除非 Google 索引了一个文件,然后我们删除了该文件。所以我正在考虑将 410 Gone 添加到 Response.Status,然后重定向到我们的 error.aspx 页面。

Firebug 告诉我,当文件被删除时,它会在文档页面上获得“302 Found”状态代码。我在等 410。

重定向代码是:

Response.Status = "410 Gone";
Response.AddHeader("Location", Request.Url.ToString());
Response.Redirect("error.aspx");

有人可以告诉我我哪里错了吗?

最佳答案

重定向是通过发送指示资源在其他地方可用的状态来完成的,例如 301 Moved Permanently 或 302 Found。您不能在同一个响应中发送两个状态代码。所请求的资源不存在(所以你发送 410)或者它确实存在于某个其他位置(所以你发送 301 或 302 或其他)。

不过,我认为您不应该重定向到错误页面,因为错误消息不是应该有自己的 URL 的单独资源。如果客户端请求文件并且文件不存在,则发送一个 410 Gone 状态并将错误消息作为响应正文 - 这样错误消息就会从不存在的文件本身的 URL 返回。搜索引擎将看到状态代码并了解文件已丢失,浏览器将向用户显示响应正文以便他可以阅读错误消息。

关于c# - 发送 410 Gone header ,然后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9594212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com