404 Error handling ohne .htaccess

  • HI Helpliners,
    ich hoffe euch geht´s supi wie immer. In Sachen PHP hätte ich eine Anfrage.
    Aus ungeklärter Ursache kann ich auf dem Webspace im DOCUMENT_ROOT :) keine .htaccess Files für das Error handling setzen. Keine Ahnung wie, aber bei Einsatz gibt es einen Redirection Error. Mein Providor bekommt das nicht in den Griff und ich will davon nicht abhängig sein.
    Insofern frage ich mich, ob es nicht die Möglichkeit gibt ein solches Handling lediglich durch eine PHP File hinzubekommen. Das muss doch irgendwie gehen. Und sei es in der Art dieses als Codeschnipsel in die header, die config (Include construct) oder die index Datei einzubauen. Leider bekomme ich das noch nicht zusammen.
    Ich hoffe ihr könnt mir helfen :)! Zusätzliche Info: Safemode ist leider aktiviert.
    SPECIAL :) Greetz,
    Markus Ehrlich

  • Mir faellt da spontan nur der Umweg ueber eine Proxyseite ein. Diese Seite uebrnimmt die Aufgabe, die du normalerweise durch die .htaccess Datei an deinen Browser uebergibst.
    Baue eine Seite, die in etwa so aufgerufen wird:
    proxy.php?item=page.php
    Die Seite sollte via file_exist() prüfen ob page.php vorhanden ist. Falls ja kann ...
    a) durch das Setzen per header() Anweisung ein redirect auf page.php gemacht werden oder
    b) per include()/require() page.php eigebunden werden. Dies bietet sich an, wenn du Variablen aus den $_POST oder $_GET Arrays verwenden moechtest.
    Falls die Seite nicht vorhanden ist kann entweder die Proxyseite eine entsprechende Fehlermeldung ausgeben, oder aber auf eine Errorpage weiterleiten bzw. diese inkludieren.
    Ich hoffe das war nicht zu abstrakt, aber es haengt viel davon ab, wie deine Applikation aufgebaut ist.
    Happy coding, Marc

  • UUuuuuups, hatte vergessen, dass Code hier nicht so einfach ausgegeben werden kann. Ich hoffe du rufst deine Mails ab und erhälst das Beispiel darin.
    Greez,
    Markus

  • Hi Marc,
    nun ich bin noch net soweit dass ich bereits mit allen Funktionen vertraut
    bin. Also ich ging villeicht von einer Lösung aus wie etwa einen if und
    ifelse Befehl einzubauen. Der Gedanke kam mir wegen des Aufbaus meine
    Struktur. Da ist also ein PHP-File, mit dem die tatsächlichen Dateinamen
    unterdrückt werden in dem eine ?id= Adresse ausgegeben wird.
    Beispiel:
    <?php
    if ($id == 1) {
    include("xxx.php");
    } elseif ($id == 2) {
    include("yyy.php");
    }
    ?>
    hier hoffte ich eine Möglichkeit die weniger kompliziert wäre. Natürlich
    dachte ich hierzu dann auch an die header bzw. index. Marco kennt mein
    Konstrukt genau. Vielleicht kannst du ihn mal antickern. Ich erreiche ihn
    leider nicht.
    Gruß,
    Markus (Alias Lansitter)
    >
    > Mir faellt da spontan nur der Umweg ueber eine Proxyseite ein. Diese Seite
    uebrnimmt die Aufgabe, die du normalerweise durch die .htaccess Datei an
    deinen Browser uebergibst.
    >
    > Baue eine Seite, die in etwa so aufgerufen wird:
    > proxy.php?item=page.php
    >
    > Die Seite sollte via file_exist() prüfen ob page.php vorhanden ist. Falls
    ja kann ...
    > a) durch das Setzen per header() Anweisung ein redirect auf page.php
    gemacht werden oder
    > b) per include()/require() page.php eigebunden werden. Dies bietet sich
    an, wenn du Variablen aus den $_POST oder $_GET Arrays verwenden moechtest.
    >
    > Falls die Seite nicht vorhanden ist kann entweder die Proxyseite eine
    entsprechende Fehlermeldung ausgeben, oder aber auf eine Errorpage
    weiterleiten bzw. diese inkludieren.
    >
    > Ich hoffe das war nicht zu abstrakt, aber es haengt viel davon ab, wie
    deine Applikation aufgebaut ist.
    >
    > Happy coding, Marc
    >

  • Hi Markus,
    ganz einfach, wenn Du PHP nutzt und die Seite über z.B. die Variable id refenziert wird:
    switch ($id){
    case 1:
    echo "seite 1";
    break;
    case 2:
    echo "seite 2";
    break;
    default:
    echo "seite nicht gefunden";
    break;
    }
    der Rest erklärt sich analog...
    Bye André

  • hi Andre,
    also deine Idee war natürlich nicht falsch, hätte aber wohl eine nicht
    unerhebliche Unstrukturierung nach sich gezogen. Um das Error handling zu
    lösen dachte ich mir ich sollte das irgendwie über die Navisteuerung
    hinbekommen. Bevor ich jetzt im laufenden Projekt rumteste würde ich mich
    freuen, wenn du folgendes prüfen könntest um zu im Vorfeld zu erfahren ob es
    so geht. Ich hoffe der Code wird so für dich sichtbar übermittelt:
    if ($id == 1) {
    include("b.php");
    } elseif ($id == 2) {
    include("bl.php");
    } elseif ($id == 3) {
    include("bla.php");
    } elseif ($id == 4) {
    include("blubber.php");
    } else {
    include("error.php");
    }
    Also einfach als else (wenn nicht eines der vorhergehenden, dann die
    error.php.
    thx und Gruß,
    Markus
    ----- Original Message -----
    From: "Andre ()" <helpline@pc-special.de>
    To: "Lansitter" <webmaster@ecswebs.net>
    Sent: Monday, June 02, 2003 11:01 PM
    Subject: [23190] 39: 404 Error handling ohne .htaccess
    >
    > Hi Markus,
    >
    > ganz einfach, wenn Du PHP nutzt und die Seite über z.B. die Variable id
    refenziert wird:
    >
    > switch ($id){
    > case 1:
    > echo "seite 1";
    > break;
    > case 2:
    > echo "seite 2";
    > break;
    > default:
    > echo "seite nicht gefunden";
    > break;
    > }
    >
    > der Rest erklärt sich analog...
    >
    > Bye André
    >