• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Fehler: Umleitungsfehler

Lotti

New member
Es ist mir (leider) gelungen, folgende Fehlermeldung zu erzeugen:

"Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann. Dieses Problem kann manchmal auftreten, wenn Cookies deaktiviert oder abgelehnt werden."

In meinem Script (JS) befindet sich ein Link, über den die function savescore (im script) aufgerufen wird. Die function ruft dann meine index.php auf. Der Pfad ist korrekt, die php-Datei ist vorhanden und arbeitet fehlerfrei, dennoch erschien die o.a. Meldung.

Diese function erzeugt den Umleitungsfehler:

savescore: function() {
var beenden = "../index.php?Punkte="+this.Score;
document.location.href = beenden;
}


Ersetze ich die relative Pfadabgabe durch die vollständige URL, klappte es zwar, aber das halte ich nicht für die beste Lösung.

Diese function funktioniert:

savescore: function() {
var beenden = "http://www.blabla/index.php?Punkte="+this.Score;
document.location.href = beenden;
}


Könnte das damit zu tun haben, dass irgendwo in den Tiefen des Systems (Client, Server, JS ...?) die relativen Pfade "verbogen" werden, bzw. kann man den relativen Pfad "erzwingen"?
 
Funktioniert var beenden = "/index.php?Punkte="+this.Score;?

Ansonsten musst du dir für so ein Problem den wirkliche Netzwerkverkehr ansehen.
 
Funktioniert leider (in meinem Fall) auch nicht.

Ich hole daher mal etwas weiter aus:

Auf meiner HP betreibe ich auch eine Spielhalle (siehe ggf. mein Profil) mit über 600 alten flashgames. Die Spielhalle habe ich komplett selbst programmiert. Die erzielten Scores können gespeichert werden. Mit den flashgames funzt alles prima. Sie werden aufgerufen und finden am Ende die index.php, die sich in gleichen Ordner befindet, wie das aufrufende Script, aber eine Ebene höher als die flashgames (swf).

Nun möchte ich auch neuere (Open-Source) HTML5-Games hinzufügen, die ich natürlich alle entsprechend anpassen und erweitern muss, damit auch diese Scores gespeichert werden können. Mein Testprojekt ist "Boulder Dash".

Entscheidend dürfte sein, wo zum Zeitpunkt des Aufrufs gerade der Focus liegt. Bei PHP-Scripten ist es auch ja auch so, dass man einen Link oder Aufruf mal "direkt" (index.php) oder "relativ" (../index.php) setzen muss.

Bei Javascript blicke ich da noch nicht durch. Je nachdem, wo der Focus liegt, kämen für den Aufruf der index.php m.E. nur folgende Möglichkeiten in Betracht:
index.php - wenn der Focus im aufrufenden Script playgame.php liegt,
../index.php - wenn der Focus im Startscript des Games (gamexy.html) liegt,
../../index.php - wenn der Focus im JS-Script des games (im Unterordner JS) liegt.

Keine der o.a. Alternativen funktioniert, auch nicht mit einem Slash davor, alle erzeugen den Umleitungsfehler.
 
Wie schon gesagt - du musst dir den wirklichen Netzwerkverkehr ansehen. Ich gehe aber davon aus, dass dein Apache da an ein paar Stellen einfach nicht korrekt konfiguriert ist.
 
Hm, ich habe wohl leider keine Ahnung, wie ich mir den Netzwerkverkehr ansehen und daraus Erkennsisse gewinnen könnte oder Fehler in der Apache-Config feststellen und beseitgen könnte.
Ich nehme mal an, es handelt sich um eine serverseitige Configuration meines Providers?

Kann man den Focus (relativer Pfad) irgendwie scriptseitig festlegen? Eine Variable oder Konstante reicht da ja wohl nicht.
Ich versuche mal, die Pfade irgendwie in eine Variable zu packen und auszugeben. Muss ich mir nur zusammensuchen, wie ich das anstellen kann.
 
Zuletzt bearbeitet:
Ehrlich gesagt, hab' ich keine Ahnung, was du genau mit "Focus" meinst.

Aber den Netzwerkverkehr kannst z.B. mit wireshark aufzeichnen. Da kannst du dann nachsehen, wohin die Anfrage vom Server weitergeleitet wird. Normalerweise kannst du die Konfiguration für solche Umleitungen selber festlegen und dein Provider hat damit erstmal eigentlich nichts zu tun.
 
Ok und Danke, ich versuche das mal.
"Focus" ist vielleicht der falsche Begriff. Ich meine die aktuelle "Adresse" innerhalb des laufenden Scriptes zur Laufzeit. Liegen alle Scripte in einem Ordner, verlinkt man nur mit den Scriptnamen, bei Aufruf eines Scriptes in einem Unterordner muss man diesen voranstellen. Es könnte also sein, dass JS da etwas komplizierter "denkt" ;)
 
JS denkt da genauso einfach, nur dass es natürlich in URLs und nicht in Pfaden auf dem Server "denkt".
 
Zurück
Oben