2013-07-17 2 views
0

IIS에서 오류 페이지를 httpRedirect.htm으로 설정하여 오류 403.4가 발견되면 HTTP 요청을 https로 변환하려고합니다.document.referrer blank

사용자가 브라우저에 http url을 입력하면 httpRedirect.htm 페이지가 실행되어이 URL을 가져오고 http를 https로 바꾸고이 새 URL로 리디렉션합니다. 이 자바 스크립트에서 발생 싶어요.

그러나 httpRedirect.htm에서 document.referrer를 사용하면 항상 공백으로 나타납니다.

이 상황에 대한 특별한 고려 사항이 있습니까? 이 오류 페이지를 사용하는 브라우저가 이전 요청의 정보를 전달할 수 있습니까?

+0

. 북마크 또는 주소를 입력 할 때 deocument.referrer는 항상 비어 있습니다. URL에 정보 사용 – mplungjan

답변

0

위치 개체를 확인해야합니다. 리디렉션은 서버 측에 있습니다.

시나리오 : 당신은 http://example.com/index.html로 직접 이동

  1. 및 httpRedirect.htm이 렌더링됩니다. 처음 방문한 페이지가 인데, 리퍼러는 비어 있습니다.
  2. 귀하는 http://test.com/index.html에 있으며 http://example.com/index.html에 대한 링크를 클릭합니다. 이제 httpRedirect.html, 이 표시되지만 참조자는 이전 페이지 인 http://test.com/index.html입니다.

리퍼러는 브라우저에 따라 다르므로 리퍼러 객체에 "있어야"한다고해도 아무 것도 가질 수 없습니다. 일부 방화벽 및 안티 바이러스 응용 프로그램은 잘 작동합니다.

http://example.com/index.html에 있고 httpRedirect.htm이 보이는 경우 location.href는 여전히 http://example.com/index.html입니다.

는 현재 위치를 사용하여 몇 가지 예제 코드를 볼 수 있습니다 당신은 document.referrer에 의존 할 수 없다 http://kloudgate.wordpress.com/2013/05/30/how-to-redirect-http-to-https-using-iis7-0/