2016-07-13 11 views
1

Im Moment leitet der Umleitungscode HTTPS → HTTPS um. Ich habe versucht, die Seite mit die($url) zu stoppen, um zu sehen, ob das PROTOCOL HTTP ist und es korrekt war. Aber aus irgendeinem Grund, wenn ich versuche, PHP Headerort es Umleitungen zurück zu HTTPS-Protokoll statt HTTPUmleiten von HTTPS zu HTTP in Controller

Also, wenn ich Code nach der Verwendung in meinem Zend preDispatch Methode

header('Location: http://www.example.com/blogs/'); 

es Umleitungen an https://www.example.com/blogs/ (HTTPS-Protokoll)

während, wenn ich versuche,

header("Refresh:0; url=http://www.example.com/blogs/"); 

es funktioniert gut. Bedeutet, dass es zum HTTP-Protokoll umleitet.

Hinweis: Der Grund, warum ich dies innerhalb des Controllers tun muss, ist, dass Weiterleitungen von einem speziellen Fahnenmast abhängig sind. Ich kann es nicht mit Apache-Konfiguration tun.

Antwort

0

Ich habe dieses Problem endlich gelöst.

Das Problem war, dass die Umleitungs-Header vom Loadbalancer überschrieben wurden. Es gab also eine Art von Richtlinien, dass jemand, der versucht, die URL von einem Protokoll zu einem anderen umzuleiten, das nicht zulässt, was die Umleitungsschleife verursacht, die ich erlebt habe.

Die Lösung in meinem speziellen Fall war ein anderer benutzerdefinierter Header, der gesendet werden musste, der eine Überschreibung des Schemas im Loadbalancer ermöglichte.