Всякий раз, когда мой сайт django вызывает «HttpResponseRedirect» в объекте представления для перенаправления на другой URL-адрес, он удаляет субдомен и возвращается к основному сайту. Я работаю в ветке SVN Django. Вот пример:
HttpResponseRedirect Django, похоже, удаляет мой поддомен?
#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
Есть ли причина, это делается? Должен ли я перенаправить на полный путь, включая поддомен?
FYI, этот ответ также полезен для устранения неполадок «почему Джанго иногда перенаправляя от HTTPS к HTTP?» (например, после формы входа). Если ваш сервер или обратный прокси не предоставляют Django точный 'request.is_secure', тогда' fix_location_header' неправильно отобразит схему, когда она сделает абсолютное перенаправление. – medmunds
@medmunds У меня есть именно эта проблема, django перенаправляет с https на http при переадресации с относительного URL. Какими заголовками http должен быть установлен сервер/прокси, чтобы решить проблему? – thedk
@thedk это будет что-то вроде X-Forwarded-Proto или X-Forwarded-SSL - и вам нужно будет рассказать Django об этом. Взгляните на SECURE_PROXY_SSL_HEADER в https://docs.djangoproject.com/en/1.4/ref/settings/#secure-proxy-ssl-header (и серьезно относитесь к предупреждению о безопасности). Кроме того, поиск «django request.is_secure» будет включать некоторые другие решения до 1.4. – medmunds