我有一个多语言网站。可用语言为英语和荷兰语。我希望能够在这些语言之间切换。因此,当访问者点击NL
语言时,它会指向www.website.com/languagecontroller/switchlanguage/language=nl?currenturl=http%3a%2f%2fwww.website.com%2f
(currenturl参数将被网址编码)。
重定向到页面和正确的语言将通过以下代码完成:
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
编码似乎很好,因为Internet Explorer和Firefox工作正常,只有Chrome存在问题。我也试过Server.Transfer()
,但我在那里遇到了同样的问题。
我一直在寻找这个问题,看起来它与Chrome缓存有关。但我不确定,也无法找到/解决方案。我不知道可能出现什么问题,或者我如何解决这个问题,因此Chrome不会给我带来任何问题。
有没有人有想法?
答案 0 :(得分:1)
请参阅http://en.wikipedia.org/wiki/HTTP_location
RFC 2616需要HTTP LOCATION标头中的绝对网址,您的网址格式不正确(从我上面看到的),添加(http://)并将其转换为格式正确的绝对网址。检查,也许这可以解决问题。
问题似乎在网址中。
希望这有帮助。
感谢