Umleitungs-Limit überschritten
-
Hallo!
Ich entwickle derzeit einen Webshop bei mir auf dem Rechner in PHP und MySQL. Hier zu Hause läuft alles wunderbar: Apache2 + PHP 5 + MySQL 4.
Als ich allerdings zum Testen des Shops die Dateien auf den Server geladen habe wurde ich unangenehm überrascht. Auf allen Seiten, in denen ich die header()-Funktion benutzt habe um im Header das Feld location zu manipulieren und somit eine Weiterleitung zu erreichen, erhalte ich vom Browser eine Fehlermeldung.
Firefox meldet "Umleitungs-Limit für diese URL überschritten. Die angeforderte Seite konnte nicht geladen werden. Das kann von geblockten Cookies herrühren."Ich weiß mit dieser Fehlermeldung überhaupt nichts anzufangen. Ich habe es sogar mit verschiedenen Browsern Probiert: weder Firefox, Netscape, Internet-Explorer, Konqueror, noch Epiphany Webbrowser weigern sich die Seiten anzuzeigen. Cookies benutze ich übrigens nicht, nur php-Sessions die per default auch ein Cookie setzen. Die Weitergabe der session-id erfolgt aber per URL.
Ich habe auch schon im Internet nach dieser Fehlermeldung gesucht, doch Brauchbares kam dabei nicht heraus. Ich nehme an, dass die Serverkonfiguration bei meinem Provider nicht ganz meiner zu Hause entspricht. Hier im Forum habe ich einen ähnlichen Beitrag gefunden, in dem steht, dass man nicht auf dieselbe Seite umleiten darf. Das tue ich aber auch nicht. Ich leite lediglich auf die vorhergegangene Seite weiter (HTTP-Referer). Vielleicht kann mir ja jemand weiterhelfen.
-
hackbert schrieb:
Ich leite lediglich auf die vorhergegangene Seite weiter (HTTP-Referer).
Dort hast du dann aber keine weitere Header-Weiterleitung mehr, oder?!
-
flenders schrieb:
Dort hast du dann aber keine weitere Header-Weiterleitung mehr, oder?!
Nein. Kann es sein, dass PHP auf dem Server so eingestellt ist, dass $HTTP_SERVER_VARS['HTTP_REFERER'] einen leeren String zurückgibt?
-
hackbert schrieb:
Kann es sein, dass PHP auf dem Server so eingestellt ist, dass $HTTP_SERVER_VARS['HTTP_REFERER'] einen leeren String zurückgibt?
Das ist afaik eine Sache des Browsers - verlassen solltest du dich auf HTTP_REFERER also nicht. Aber schau doch einfach mal rein, was drin steht
-
Genau so war es. Ich habe die etwas veralteten $HTTP_*_VARS Arrays benutzt. Auf dem Server waren diese deaktiviert und ich verwende nun die kürzeren $_*-Arrays (Also z.B. statt $HTTP_GET_VARS $_GET)