2016-07-01 8 views
1

로그인 페이지에는 로그인 페이지로 리디렉션되기 전에 방문한 페이지로 되돌아가는 returnUrl 쿼리 문자열 매개 변수가 있습니다.문자열을 올바른 URL로 포맷하는 방법

e.e.

returnUrl 여러 경우 http://localhost/login?returnUrl=//testsection/testpage 그것은 http://testsection/testpage 대신 http://localhost/testsection/testpage

내가 유효을 문자열을하고 포맷 할 수있는 방법이 있나요로 리디렉션됩니다 슬래시?

+2

당신은 URL 매개 변수 값을 인코딩해야 리디렉션합니다. – tym32167

+1

그냥 로컬 호스트에 액세스 할 수 없습니다. 동일한 실마리는 로컬로 호스팅되어 있습니다. –

+0

솔직히 문제는 반환 값 **에 시작시 여러 개의 슬래시 **가 있음을 의미합니다. ** 단지 * 잘못된 것이 아닙니다. . 1 개의 슬래시 : 좋은; 여러 개의 슬래시 : 넌센스 (다른 호스트로 프로토콜 관련 리디렉션을 시도하지 않는 한). 올바른 실제 값을 얻으면'HttpUtility.UrlEncode'를 사용하면 정렬됩니다. –

답변

0

복귀 후 URL 유효성 검사

Response.Redirect("http://" + (HttpContext.Current.Request.Url.Host + Request["returnUrl"]).Replace("//","/")); 
관련 문제