Response.Redirect并不总是重定向

时间:2009-05-28 19:08:19

标签: http iis firefox redirect httpresponse

我们在一个工作不一致的页面上有一个简单的Response.Redirect(IIS 6.0)。大部分时间它都正确地重定向,但我们得到一些抱怨的用户,而不是重定向,他们得到“302对象移动到这里”页面。该页面显示具有正确位置的标题信息。如果单击“此处”,则会重定向到正确的页面。

为什么它会偶尔显示302消息?

3 个答案:

答案 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标头时会发生这种情况。