我们在一个工作不一致的页面上有一个简单的Response.Redirect(IIS 6.0)。大部分时间它都正确地重定向,但我们得到一些抱怨的用户,而不是重定向,他们得到“302对象移动到这里”页面。该页面显示具有正确位置的标题信息。如果单击“此处”,则会重定向到正确的页面。
为什么它会偶尔显示302消息?
答案 0 :(得分:2)
您可以尝试手动将响应的状态代码设置为301.以下是一些可以帮助您解决问题的borrowed code:
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。
您是否有关于这些人正在使用的浏览器的任何信息?
答案 1 :(得分:2)
302是代码response.redirect返回。我还看到了一个做客户端的说明
window.location = 'url'
但它听起来像浏览器设置。
答案 2 :(得分:0)
当缺少Location标头时会发生这种情况。