Header Location scheint nicht auf lima-city zu funktionieren
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktivieren
anzeigen
art
beziehen
code
dank
datei
endlos schleife
endlosschleife
fehlermeldung
header
http
kleiner beispiel
obige problem
port
problem
test
treten
url
weiterleitung
-
Hallo!
Ich bin gerade am testen eines eigenen CMS auf Lima-city. Ich habe festgestellt, dass ich scheinbar immer wenn ich dinge mit header Location tue die Sache mit einem 500 Server Error zu enden scheint. Woran liegt das?
Wie kann ich die PHP-Fehler auf lima-city anzeigen lassen? ich habe sie mit ini_set("display_errors", 1) und error_reporting eigentlich alle auf an
Hier ein kleiner Beispiel-Code für das obige Problem:
$http = (isset($_SERVER["HTTPS"])) ? "https" : "http"; $port = $_SERVER["SERVER_PORT"]; if($http == "http" && $port == 80){ $port = ""; } else if($http == "https" && $port == 443){ $port = ""; } else { $port = ":" . $port; } header("Location: " . $http . "://" . $_SERVER["SERVER_NAME"] . $port . $_SERVER["REQUEST_URI"]); exit;
Schonmal danke im vorraus!
Grüße
Daniel -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ini_set ist auf Lima gesperrt. Du musst die Fehleranzeige in der .htaccess aktivieren:
php_value display_errors 1
Siehe: http://www.lima-city.de/2008/php#fehlermeldungen -
igruber schrieb:
...
Hier ein kleiner Beispiel-Code für das obige Problem:
$http = (isset($_SERVER["HTTPS"])) ? "https" : "http"; $port = $_SERVER["SERVER_PORT"]; if($http == "http" && $port == 80){ $port = ""; } else if($http == "https" && $port == 443){ $port = ""; } else { $port = ":" . $port; } header("Location: " . $http . "://" . $_SERVER["SERVER_NAME"] . $port . $_SERVER["REQUEST_URI"]); exit;
wenn __FILE__ und $_SERVER["REQUEST_URI"] sich auf die selbe datei beziehen, dann hast eine endlosschleife.
chatter schrieb:
fehleranzeige ist gold richtig. wocher nimmst aber ini_set? oder bin ich blind??
ini_set ist auf Lima gesperrt. Du musst die Fehleranzeige in der .htaccess aktivieren:
php_value display_errors 1
Siehe: http://www.lima-city.de/2008/php#fehlermeldungen -
Das ini_set steht im Text.
Stimmt aber, das muss zwangsläufig eine Endlosschleife sein, denn du leitest von Beispielsweise test.de/test.php um auf test.de/test.php, und das ist irgendwie nicht das beste, um eine Weiterleitung zu generieren. Was genau ist denn das Ziel? Also was für eine Weiterleitung soll getätigt werden in deinem CMS?
Liebe Grüße -
Hi,
schonmal danke für die Antworten. dann werde ich mir das mal mit dem .htaccess-tool anzeigen lassen, danke!
nein, das ist keine Endlos-Schleife. Diese Zeile wird genau einmal aufgerufen, nachdem die Version des CMS geupdatet wurde und evtl. Upgrade-Skripte laufen. Danach soll der Besucher ja die Seite sehen, die er aufgerufen hat, aber da ich eine Art Reboot brauche, leite ich eben auf die gleiche Seite weiter.
Doch das Problem tritt auch auf, wenn ich auf andere Seiten leite :/
// edit
Okay, der Bug war in einer anderen Datei! Die Datei, die die Version speichert sah etwa so aus:
<?php = "2.0-036";
Dazu muss man ja wohl nichts sagen ;)
Grüße
Daniel
Beitrag zuletzt geändert: 26.11.2012 0:22:16 von igruber -
igruber schrieb:
schön, dass die lösug schon da ist, aber obiges kann ich nicht bestätigen. dein code funktioniert, wenn wo anders hin umleitet.
... Doch das Problem tritt auch auf, wenn ich auf andere Seiten leite :/ ... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage