Asp.net 从https重定向到http时丢失查询字符串

Asp.net 从https重定向到http时丢失查询字符串,asp.net,https,Asp.net,Https,我有一个完全使用https运行的网站https://www.mysite.com(我在IIS中将http重定向到https)。这一切都很好 我有一个旧版本的网站http://old.mysite.com,一些用户仍在该网站上运行,该网站仅在http上运行。这一切都很好 我的新站点(使用global.asax中的Response.Redirect)将1个URL重定向到我的旧站点。例如,用户请求https://www.mysite.com/page.aspx?query=string,我将它们重定向

我有一个完全使用https运行的网站https://www.mysite.com(我在IIS中将http重定向到https)。这一切都很好

我有一个旧版本的网站http://old.mysite.com,一些用户仍在该网站上运行,该网站仅在http上运行。这一切都很好

我的新站点(使用global.asax中的Response.Redirect)将1个URL重定向到我的旧站点。例如,用户请求https://www.mysite.com/page.aspx?query=string,我将它们重定向到旧站点http://old.mysite.com/page.aspx?query=string。重定向工作正常,只是当查询字符串到达旧站点时丢失了它

我必须重定向的URL来自嵌入在客户站点中的URL,因此我不能只更新它们以指向旧站点。我进行了测试,当我在HTTP下运行我的新站点时,所有这些都可以正常工作,因此传输是HTTP到HTTP的,但当我使用HTTPS到HTTP时,传输失败

你知道问题出在哪里吗

谢谢,
吉姆

好的,我已经弄明白了,所以我会发布,以防其他人发现这个问题。我使用IIS7中的HTTP重定向模块将任何HTTP流量重定向到我的新网站的HTTPS。对于要重定向到的url,我刚刚有'https://www.mysite.com'. 我发现了一些变量,可以添加到重定向url以保留查询字符串。所以一旦我更新到'https://www.mysite.com$S$Q'成功了。

Jim如果你做了一个永久性的重定向,而不仅仅是重新定向,会有什么不同吗?另外,在调试期间,您是否看到查询字符串参数值(使用https时)?这不是一个答案,但也许你应该回复一个页面,让用户知道你更新了他们的图书标记?嗨,希夫,谢谢你的评论。实际上,我是通过向头添加一个临时重定向302来实现的(尽管Response.redirect也不起作用)。一两个月后,用户将从旧站点迁移出去,URL将再次有效。至于调试,我知道重定向url包括新站点上的查询字符串,但是当我将请求url和查询字符串打印到旧站点上的页面(用于测试)时,我只看到url。