404 ErrorDocument Funktioniert nicht!

BSA

Erfahrenes Mitglied
Hi Leute!

Ich habe folgendes Problem, und zwar Funktioniert das mit der .htaccess Datei und dem eigenen Fehlerdokument bei mir nicht. weder lokal ncoh aufm Webserver!

Hat jemand ne Idee woran das liegen kann?

#.htaccess
Code:
ErrorDocument 404 /404.php

#404.php
Code:
irgendwas...

Gruß BSA
 
Hallo!

Wenn die Datei im Document Root liegt, ist es so richtig.
Dass heist, die Datei muss über http://www.domain.de/404.php erreichbar sein.

Hast Du mal:
Code:
ErrorDocument 404 http://www.domain.de/404.php
oder:
Code:
ErrorDocument 404 "irgendwas....."
probiert?

Dass ganze hat aber nichts mit PHP zu tun. ;)

Gruss Dr Dau
 
Sorry, das ich es ins falsche Forum gepostet habe....

Funktioniert das nur wenn die .htaccess Datei an oberste Stelle im Dokument lieg toder kann das auch ín Unterordnern liegen?!
 
Eigentlich müsste es auch funktionieren wenn die .htaccess in einem Unterordner liegt.
Dann greift sie aber auch nur auf diesen Unterordner und darin befindliche Ordner.
Wenn sie also in allen Ordnern greifen soll, dann muss sie im Document Root liegen.

Prinzipiell kannst Du in jedem Ordner eine .htaccess liegen haben.
Du kannst also im htdocs eine .htaccess für deine allgemeinen Error-Dokumente haben und z.b. im Ordner /test eine weitere .htaccess.
In dieser weiteren .htaccess kannst Du für den Ordner /test und alle darin befindlichen Unterordner andere Error-Dokumente angeben (aus welchem Grund auch immer).
 
Also das soll nur für den Unterordner gelten.

Wenn ich aber einen Pfad zu dem Dokument mittels http://.... angebe, dann reagieren die Loger nicht mehr, also diejenigen die die Fehlermeldungen mitloggen. Ich muss also eine Angabe mittels /ordner/datei.endung machen.

Aber leider funktioniert das nicht. Hat das evt. was mit den Einstellungen für PHP zu tun?!
 
Ich habe jetzt mal ein wenig probiert (allerdings nur mit XAMPP).

Die URL wo die .htaccess liegt: http://localhost/test/
Die URL wo die Error-Seite liegt: http://localhost/test/error/404.php
Die URL wo die Log-Datei liegt: http://localhost/test/error_logs/error.log

Inhalt der .htaccess:
Code:
ErrorDocument 404 /test/error/404.php
Inhalt der 404.php:
PHP:
<?php
$logfile = "../error_logs/error.log";
$handle = fopen($logfile, "a");
	 fwrite($handle, "Fehler 404");
	 fclose($handle);
echo "Fehler 404";
?>
Wenn ich nun z.b. http://localhost/test/foo.bar aufrufe, werde ich auf die Error-Seite umgeleitet.
Diese gibt mir "Fehler 404" aus und trägt selbiges in die error.log.

Zumindest unter Linux würde es ein Problem geben wegen safe_mode=ON, aber dass weisst Du ja sicherlich.
 
Mist, ich hatte vergessen zu erwähnen das ja erkannt wird das ich das mit einer .htaccess Datei steuern will, aber leider findet er dann die Datei nicht.Wenn ich die Angabe aber mittels http://localhost.... mache, dann funktioniert es, das heißt also das die Pfadangabe irgendwie falsch ist. Ich muss die Pfadangabe doch ausgehend von der .htaccess Datei machen, oder?!

Okay, ich habs gerade anders Probiert ich muss die Pfadangabe ausgehend vom htdocs Verzeichnis machen. So funktioniert es. Okay Dau, ich danke dir!

Gruß BSA
 
Ja, die Pfadangabe muss vom htdocs ausgehen.
Eigentlich dachte ich ja dass es aus meinem Beispiel schon hervorgeht. ;)

Dann vergiss aber nicht den Thread als erledigt zu markieren. ;)
 
Okay, das wusste ich nicht, tut mir leid, aber es hat ja nun geklappt.

Ich weiß nicht warum ich seit dieser Woche vergesse immer meine Themen als erledigt abzuhacken?! *grübel*
 

Neue Beiträge

Zurück