2011-01-27 3 views
1

HTTPS를 사용하여 완전히 실행되는 https : // www.mysite.com 사이트가 있습니다 (IIS에서 http를 https로 리디렉션 함). 이 모든 것이 잘 작동합니다.https에서 http로 리디렉션 할 때 쿼리 문자열 손실

일부 사용자가 여전히 실행중인 http : // old.mysite.com 사이트의 이전 버전은 HTTP를 통해서만 실행됩니다. 이 모든 것이 잘 작동합니다.

내 새 사이트에서 내 이전 사이트로 Response.Redirect (global.asax의 Response.Redirect 사용)를 리디렉션하는 URL이 1 개 있습니다. 예를 들어 사용자가 https : // www.mysite.com/page.aspx?query=string을 요청하고이를 이전 사이트 http : // old.mysite.com/page.aspx?query=string으로 리디렉션합니다. 리디렉션은 이전 사이트에 도달하면 쿼리 문자열이 누락된다는 점을 제외하면 잘 작동합니다.

리디렉션해야하는 URL은 고객 사이트에 포함 된 URL에서 가져온 URL이므로 모두 이전 사이트를 가리 키도록 업데이트 할 수 없습니다. 테스트를 거쳤으며 HTTP를 사용하여 새 사이트를 실행하면 전송이 HTTP에서 HTTP로 바뀌지 만 HTTPS에서 HTTP로하면 실패합니다.

문제점에 대한 아이디어가 있습니까?

덕분에, 짐

+0

Jim은 리디렉션 대신 영구적 인 리디렉션을 한 경우 차이가 있습니까? 또한 디버깅하는 동안 쿼리 문자열 매개 변수 값을 볼 수 있습니까 (https 사용시)? 이것은 답변이 아니지만 사용자가 도서 표지를 업데이트하는 것을 알리는 페이지로 응답해야합니다. –

+0

안녕하세요 Shiv, 의견 주셔서 감사합니다. 실제로 Response.Redirect가 작동하지 않았지만 헤더에 임시 리디렉션 302를 추가하여이 작업을 수행하고 있습니다. 한두 달 안에 사용자가 이전 사이트에서 이전되고 URL이 다시 유효합니다. 디버깅에 관해서는 리디렉션 URL에 새 사이트의 쿼리 문자열이 포함되어 있지만 요청 URL 및 쿼리 문자열을 테스트 용 이전 사이트의 페이지로 인쇄 할 때 URL 만 볼 수 있습니다. – Jim

답변

2

좋아 나는 내가 경우 다른 사람이 문제 안타에 게시합니다 파악되었다. HTTP 7 리디렉션 모듈을 사용하여 HTTP 트래픽을 새 웹 사이트의 HTTPS로 리디렉션했습니다. 리디렉션 할 URL의 경우 'https://www.mysite.com'을 방금 받았습니다. 쿼리 문자열을 유지하기 위해 리디렉션 URL에 추가 할 수있는 몇 가지 변수를 찾았습니다. 한 번 'https : //www.mysite.com$S$Q'로 업데이트하면 효과가있었습니다.

관련 문제