kostenloser Webspace werbefrei: lima-city


Header Location scheint nicht auf lima-city zu funktionieren

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    igruber

    Kostenloser Webspace von igruber

    igruber hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. 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:
    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
    fehleranzeige ist gold richtig. wocher nimmst aber ini_set? oder bin ich blind??
  5. g****e

    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
  6. Autor dieses Themas

    igruber

    Kostenloser Webspace von igruber

    igruber hat kostenlosen Webspace.

    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
  7. igruber schrieb:
    ... Doch das Problem tritt auch auf, wenn ich auf andere Seiten leite :/ ...
    schön, dass die lösug schon da ist, aber obiges kann ich nicht bestätigen. dein code funktioniert, wenn wo anders hin umleitet.
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!