2010-07-08 3 views
0

이전 서버에서 새 서버로 301 영구 리디렉션을 수행하고 있습니다. 새로운 서버의 페이지가 클릭되면 사용자가 이전 사이트에서 왔는지 다른지를 판단 할 수 있습니다. 예를 들어 사용자에게 새 페이지를 다시 표시하도록 지시 할 수 있습니다.ASP.Net 리퍼러가 301 영구 리디렉션에서 왔는지 검색

리퍼러가 영구 리디렉션인지 확인하는 방법에 대한 제안 사항이 있으십니까?

TIA

J

답변

2

브라우저는 일반적으로 이런 종류의 물건을 처리하고 301 영구 리디렉션에서 오는 경우 대부분의 브라우저는 참조 페이지에 전달하지 않습니다. RFC 표준은 참조 자 정보를 전달해야하는지 여부를 지정하지 않으므로 해당 동작을 기대할 수 없습니다.

동일한 기본 도메인으로 리디렉션하는 경우 쿠키 값을 사용해 볼 수 있습니다. 이 문제를 해결하기 위해 ?from=oldsite 또는 그 라인을 따르는 것과 같은 특별한 쿼리 문자열로 리디렉션 할 수도 있습니다.

+0

사실은 새 도메인이다. 쿼리 문자열을 전달하는 방법을 찾아 내려고 노력하지만 리디렉션은 원래 페이지가 아닌 IIS에서 발생하기 때문에 어려울 수 있습니다. 감사합니다. –

+1

IIS를 사용하면 리디렉션을 구현할 때 쿼리 문자열을 지정할 수 있습니다. 모든 IIS 리디렉션에 쿼리 문자열을 추가하려는 경우이를 수행 할 수 있습니다. – rakuo15

-1

이 코드를 사용할 수 있어야합니다 :

string referrer = Request.UrlReferrer.ToString(); 

난 당신이 이런 식으로 할도 수 있다고 생각 : 쿠키 밖으로 그래서

string referrer = Request.ServerVariables["http_referrer"]; 
+0

이 두 가지 중 어느 것도 작동하지 않습니다. 둘 다 테스트했는데 리퍼러 정보가 전달되지 않았습니다. –

관련 문제