我们在工作不一致的页面上有一个简单的 Response.Redirect (IIS 6.0)。大多数情况下它会正确重定向,但我们收到一些用户抱怨说他们没有重定向,而是得到“302 对象移至此处”页面。该页面显示具有正确位置的标题信息。如果您单击“此处”,它将重定向到正确的页面。
任何想法为什么它会偶尔显示 302 消息?
我们在工作不一致的页面上有一个简单的 Response.Redirect (IIS 6.0)。大多数情况下它会正确重定向,但我们收到一些用户抱怨说他们没有重定向,而是得到“302 对象移至此处”页面。该页面显示具有正确位置的标题信息。如果您单击“此处”,它将重定向到正确的页面。
任何想法为什么它会偶尔显示 302 消息?
您可以尝试手动将响应的状态代码设置为 301。以下是一些可以帮助您的借用代码:
Response.StatusCode = 301;
Response.StatusDescription = "Moved Permanently";
Response.RedirectLocation = "RedirectionPage.aspx";
Response.Flush();
您还可以将 Server.Transfer() 用作最后的努力,或者输出一个简单的脚本,将窗口的位置设置为新的 url。
Page.ClientScript.RegisterStartupScript(Page.GetType
"RedirectScript", "window.location.href='RedirectionPage.aspx'", true);
虽然我想知道如果他们的浏览器不尊重原始重定向,他们的浏览器将如何处理 javascript。
你有关于这些人使用的浏览器的任何信息吗?
302 是 response.redirect 返回的代码。我还看到了一个做客户端的笔记
window.location = 'url'
但听起来确实像浏览器设置。
当缺少 Location 标头时,可能会发生这种情况。