2014-10-20 3 views
1

다국어 사이트가 있습니다. 사용 가능한 언어는 영어와 네덜란드어입니다. 그 언어들 사이를 전환하고 싶습니다. 따라서 방문자가 NL 언어를 클릭하면 www.website.com/languagecontroller/switchlanguage/language=nl?currenturl=http%3a%2f%2fwww.website.com%2f (currenturl 매개 변수는 인코딩 됨)을 가리 킵니다. www.website.com/languagecontroller/switchlanguage/language=nl?currenturl=www.website.comHttpContext.Response.RedirectLocation 크롬에서 doenst 작업

: 주소 표시 줄에 함께

HttpContext.Response.Clear(); 
HttpContext.Response.StatusCode = 302; 
HttpContext.Response.RedirectLocation = currentUrl; 
HttpContext.Response.End(); 

결과 (전용 크롬에서) 내가 얻을 빈 페이지입니다 :

페이지 및 올바른 언어로 리디렉션 아래의 코드를 통해 수행됩니다

Internet Explorer와 Firefox가 잘 작동하기 때문에 코딩이 잘된 것 같습니다. Chrome에만 문제가 있습니다. 나는 또한 Server.Transfer()을 시도했지만 같은 문제가 발생했습니다.

나는이 문제를 조사해 왔으며 Chrome 캐싱과 관련이있는 것 같습니다. 그러나 나는 확실하지 않고/해결책을 찾을 수 없었다. 나는 무엇이 잘못되었거나 어떻게 해결할 수 있는지를 보지 못하므로 Chrome에서 문제를 제기하지 않습니다.

누구나 아이디어가 있습니까?

답변

1

http://en.wikipedia.org/wiki/HTTP_location

RFC 2616는 HTTP 위치 헤더에 절대 URL이 필요 참조하십시오, 당신의 URL이 아니라 (내가 위에서 무엇을보고에서) 추가 형성되지 않은 (http : //)과 잘로 변환 형성된 절대 URL. 확인, 아마 그 문제를 해결할 것입니다.

URL에 문제가있는 것 같습니다.

희망이 도움이됩니다.

감사합니다.

+1

안녕하세요. Ironluca, url encode URL의 URL을 업데이트했습니다. 내 코드에서는 이미 이와 같았습니다. 이제 제 질문도 있습니다. 감사 – Willem