1
터키어와 영어 간 웹 사이트에 언어 스위치가 있습니다. 문제는 페이지의 사용자가 http://en.fastercv.com/is-ilanlari
인 것으로 가정합니다. 그가 터키 깃발을 클릭하면 그는 http://www.fastercv.com/is-ilanlari
대신 http://www.fastercv.com
홈 페이지로 리디렉션되었습니다. 그는 언어 플래그를 클릭하면 자신이 홈 페이지에있는 경우 Response.Redirect에 대한 Request.UrlReferrer가 홈 페이지에서 충돌합니다.
if (Request.UrlReferrer!=null)
{
string prevPage = Request.UrlReferrer.ToString();
string prevUrl = Request.UrlReferrer.ToString();
Uri uri = new Uri(prevUrl);
string prevPath = uri.PathAndQuery;
if (uri.Host == "en.fastercv.com")
{
Response.Redirect("http://www.fastercv.com" + prevPath);
}
}
지금 문제는, 그것은 무한 루프에 들어가는 보인다 : 나는 아래의 코드를 사용하여 정리. 페이지가로드되지 않습니다. Firefox에서는 다음과 같이 말합니다 :
Firefox has detected that the server is redirecting the request for this address in a way that will never complete. This problem can sometimes be caused by disabling or refusing to accept cookies.
홈 페이지에서만 발생합니다. 나는
uri.Host
비트가 if 체크에 의심된다. 그것은 ASP.NET-MVC이다.
가 유 네, 브레이크 포인트가 입력 한 않을 경우 경우 (uri.Host == "en.fastercv.com") 조건 내에서, 디버그에 중단 점을 사용하여 시도했던 다음의 경우 조건을 다시 썼다? –
나는 그렇지 않다. Cos,이 경우 "uri.host"는 "localhost"가됩니다. 그러나 그것은 분명히 홈 페이지가 아닌 다른 페이지에서도 작동합니다. – Jude
ok, uri.Host가 호스트인지 아닌지를 확인하십시오. if() {Response.Write (uri.Host + ", inside if");}이 줄을 작성하여 Host 주소. –