장고 사이트에서 뷰 객체의 "HttpResponseRedirect"를 호출하여 다른 URL로 리디렉션 할 때마다 하위 도메인을 제거하고 기본 사이트로 돌아갑니다. 내가 장고의 SVN 지점에서 일하고있다.
Django의 HttpResponseRedirect가 내 하위 도메인에서 제거 된 것 같습니다.
#Request comes in as https://sub1.mydomain.com def view(request): return HttpResponseRedirect("/test_url") #The browser will actually get redirected to https://mydomain.com/test_url
이 작업이 완료되는 이유가 여기있다 : 예입니다? 하위 도메인을 포함한 전체 경로로 리디렉션해야합니까?
참고로이 답변은 "장고가 때때로 https에서 http로 리디렉션되는 이유는 무엇입니까?"라는 문제를 해결하는 데 유용합니다. (예 : 로그인 양식 이후). 서버 또는 리버스 프록시가 Django에 정확한'request.is_secure'를 제공하지 않으면'fix_location_header'는 리다이렉트 절대 값을 만들 때 그 스키마를 잘못 가져옵니다. – medmunds
@medmunds django는 상대 URL에서 리디렉션을 만들 때 https에서 http로 리디렉션합니다. 서버/프록시가 문제를 해결하기 위해 정확히 설정해야하는 HTTP 헤더의 종류는 무엇입니까? – thedk
@thedk X-Forwarded-Proto 또는 X-Forwarded-SSL과 같은 것이 될 것이고, 장고에게주의를 기울일 것을 요구할 필요가 있습니다. https://docs.djangoproject.com/ko/1.4/ref/settings/#secure-proxy-ssl-header에서 SECURE_PROXY_SSL_HEADER를 확인하십시오 (보안 경고를 심각하게 고려하십시오). 또한 "django request.is_secure"를 검색하면 1.4 이전의 다른 몇 가지 해결책이 나타납니다. – medmunds