我有一个多语言网站。可用的语言有英语和荷兰语。我希望能够在这些语言之间进行切换。因此,当访问者点击NL语言时,它会指向www.website.com/languagecontroller/switchlanguage/language=nl?currenturl=http%3a%2f%2fwww.website.com%2f (currenturl参数将是url编码的)。
重定向到页面和正确的语言将通过以下代码完成:
HttpContext.Response.Clear();
HttpContext.Response.StatusCode = 302;
HttpContext.Response.RedirectLocation = currentUrl;
HttpContext.Response.End();我得到的结果(仅在Chrome中)是一个空白页面,在地址栏中显示:www.website.com/languagecontroller/switchlanguage/language=nl?currenturl=www.website.com
代码看起来很好,因为is和Firefox运行得很好,只有Chrome有问题。我也尝试过Server.Transfer(),但我在那里遇到了同样的问题。
我一直在寻找这个问题,看起来它与Chrome缓存有关。但我不确定,也找不到解决方案。我不知道哪里出了问题,也不知道如何解决这个问题,这样Chrome就不会给我带来问题。
有谁有主意吗?
发布于 2014-10-20 18:13:44
请参考http://en.wikipedia.org/wiki/HTTP_location
RFC2616在HTTP LOCATION头中需要一个绝对网址,你的网址格式不正确(从我上面看到的),添加(http://)并将其转换为格式良好的绝对网址。检查一下,也许这就能解决问题。
问题似乎出在URL中。
希望这能有所帮助。
谢谢
https://stackoverflow.com/questions/26463061
复制相似问题