Я не уверен, почему это происходит, но когда я указываю HTTP или HTTPS в качестве полного URL-адреса в перенаправлении, часть после моего доменного имени добавляется к моему текущему домену.
Для пример: если я перенаправлю на https://www.external_site.com / error / page / hi_there. html будет go до https://www.currentdomain.com/error/hi_there/html
return redirect('https://www.external_site.com/error/page/hi_there.html')
Но, когда я удаляю часть https: (но оставляю //), перенаправление работает должным образом:
return redirect('//www.external_site.com/error/page/hi_there.html')
Я использую Django v 1.11.23, но также проверял его на Django 2.
Django работает на Apache на mod_wsgi и проходит через обратный прокси-сервер IIS (обратный прокси-сервер - это просто обратный прокси-сервер в в этом случае нет специальных правил или чего-либо еще, кроме как переписать внешний домен во внутренний домен.)