Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] ErrorDocument + mod_rewrite

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] ErrorDocument + mod_rewrite

    Moin,
    ich steh grad vor einem Problem und Frag mal hier nach, da ichs grad nicht hinbekomme:

    Also meine Ordnerstruktur ist folgende:
    xampp/htdocs/project1/index.php

    Im gleichen Ordner liegt auch meine .htaccess-Datei die alles was nicht auf .png|jpg usw endet an die index.php verfrachtet.
    Code:
    RewriteRule !\.(js|ico|gif|jpg|png|css|swf|xml)$ index.php [L]
    Nun will ich eine Fehlerseite definieren, nur macht der natürlich nicht was ich will

    Code:
    ErrorDocument 404 /project1/fehler/e404/
    Wenn der also an das Error-Docuemtn weiterleitet, sollte das durch rewrite bei der Index landen und die sollte dann die Fehlerseite raussuchen und anzeigen, macht er aber nicht!

    Wenn ich nun irgendwas aufrufe, dass es nicht gibt, z.B sonstwas.png dann bekomm ich meine Startseite angezeigt.

    Wenn die index.php keine entsprechende Seite findet, dann zeigt er die Startseite an, aber wenn ich http://localhost/project1/fehler/e404/ aufrufe dann zeigt er die Fehlerseite an.

    Kann mir jemand helfen und sagen wie ich die ErrorDocument-Zeile ändern muss, damit er das Fehlerdokument anzeigt.

    Grüße
    Signatur:
    PHP-Code:
    $s '0048656c6c6f20576f726c64';
    while(
    $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

  • #2
    Zitat von ByStones Beitrag anzeigen
    Kann mir jemand helfen und sagen wie ich die ErrorDocument-Zeile ändern muss, damit er das Fehlerdokument anzeigt.
    Gebe ein Dokument an, und kein Verzeichnis ...?
    [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

    Kommentar


    • #3
      Das "Verzeichnis" soll ja dann per mod_rewrite umgeschrieben werden und bei der Datei landen...
      Signatur:
      PHP-Code:
      $s '0048656c6c6f20576f726c64';
      while(
      $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

      Kommentar


      • #4
        Das "Verzeichnis" soll ja dann per mod_rewrite umgeschrieben werden und bei der Datei landen...
        Das ist aber vermutlich Wunschdenken - und wird in der Praxis so nicht funktionieren.

        Die Verarbeitung eines Requests findet in verschiedenen Phasen statt.
        Die Phase, in der festgestellt wird, „hey, ich habe wirklich nichts gefunden, was ich als Antwort auf diese Anfrage ausliefern könnte“, findet erst nach der Rewriting-Phase statt - und vermutlich sogar erst nach der, in der nach einem Default-Dokument für das Verzeichnis gesucht wird.

        Wenn der also an das Error-Docuemtn weiterleitet, sollte das durch rewrite bei der Index landen
        Dann gebe das Index-Script an der Stelle explizit an; ggf. mit einem GET-Parameter, an hand dessen das Script entscheiden kann, dass es gerade als 404-Handler im Einsatz ist.
        [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

        Kommentar


        • #5
          Ok, werd das dann mal ausprobieren...

          Edit: Danke, hat wunderbar funktioniert !!!
          Signatur:
          PHP-Code:
          $s '0048656c6c6f20576f726c64';
          while(
          $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

          Kommentar

          Lädt...
          X