Portal > Foren > PHP > PHP-Programmierung > htaccess und eigene Fehlermeldung
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 07.10.2005, 16:57 Nach oben    #1
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 597
Standard htaccess und eigene Fehlermeldung

Das man mit htaccess eigene Fehlerseiten ausgeben kann, ist bekannt und nicht Gegenstand meiner Frage.

Bezüglich Error 404 ( ist bekannt ? ) wollte ich eine eigene Fehlerseite erstellen, jedoch soll die aufgerufende URL angezeigt werden.
Irgendwie bin ich zu blöd, veraltet oder sonstwas, aber bekomme das nicht in die Reihe.

Wird z.B. http://www.cix88.de/uhu.htm aufgerufen, wird eine PHP-Datei ausgegeben.
Aber wie bekomme ich das hin, dass hier die Datei »uhu.htm« als Fehlerquelle angezeigt wird ?

In der .htaccess steht dazu vorerst folgener Eintrag:
ErrorDocument 404 http://www.cix88.de/_error/404.php

Tja, jetzt knobbel ich ...
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.10.2005, 17:05 Nach oben    #2
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.374
Standard

kannst du mal den Inhalt der .htaccess zeigen?

Ich habe eine Idee, weiß aber nicht, ob das klappt.
Kann man nicht die eigentlich aufgerufene Datei in der htaccess als GET an die 404.php anhängen?
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.10.2005, 17:12 Nach oben    #3
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 597
Standard

Zitat:
kannst du mal den Inhalt der .htaccess zeigen?
Wo bis jetzt erstmal nur:

Zitat:
ErrorDocument 404 http://www.cix88.de/_error/404.php
Natürlich auch für 403 und 500.
Mir gehen zwar 100 Gedanken durch den Kopf, aber umso mehr ich darüber nachdenke lösen sich meine Gedanken in Luft auf.

Dachte auch irgendwie als Parameter übergeben, ja auch dieser Gedanke ging bis jetzt nicht recht auf.
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.10.2005, 17:31 Nach oben    #4
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.374
Standard

ich habe dazu leider keine Ahnung, warte daher gespannt, was die anderen dazu so sagen werden!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.10.2005, 17:36 Nach oben    #5
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 597
Standard

Zitat:
Kann man nicht die eigentlich aufgerufene Datei in der htaccess als GET an die 404.php anhängen?
Diesen Gedanken hatte ich ja auch schon, aber was anhängen ?
Irgendwie Variable dranhängen ? Aber was welche wie ...
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.10.2005, 17:44 Nach oben    #6
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.374
Standard

ich dachte da an sowas:

Code:
RewriteEngine On

errordocument 404 http://www.domain.tld/error404.php?file=%{REQUEST_FILENAME}
nur wird das leider direkt als Text angehängt...
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.10.2005, 17:49 Nach oben    #7
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 597
Standard

Naja vieleicht fällt jemand noch etwas dazu ein.
Ich mache erstmal was anders, um auf andere Gedanken zu kommen ...
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.10.2005, 23:52 Nach oben    #8
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 687
Standard

Ich habe mal dirkt in der Doku vom Apache gestöbert, da mir dies am sinnigsten erschien: http://httpd.apache.org/docs/2.0/mod...#errordocument

Wenn ich das richtig verstanden habe, gibt es keine direkte Möglichkeit, die Fehlercodes zu automatisieren. Du wirst also wohl oder übel für alle Rückgabecodes einen Eintrag in deiner .htaccess machen müssen. Aber: Welche Codes tretn denn eigentlich auf? Alles sind es sicher nie.

ftp://ftp.isi.edu/in-notes/rfc2616.txt

Ich habe höchstens folgende mal erlebt: 200, 202, 301, 302, 304, 305, 307, 400, 401, 402, 403, 404, 500

Die restlichen Codes habe ich bisher nie zu Gesicht bekommen (OK, ich schaue mir auch nicht IMMER die Codes an, aber das da ^^ sind die, die mir eigentlich nur aufgefallen sind und selbst ein paar DAVON noch sind nur ganz, ganz selten).
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.10.2005, 00:41 Nach oben    #9
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 597
Standard

Hmmm, jo aber Apache erstellt doch auch ein Log, wo genau diese diese Dinge auch abgespeichert werden.
Wieso geht das nicht auch über die htaccess ?
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.10.2005, 18:56 Nach oben    #10
Benutzer
 
Registriert seit: 17.08.2005
Beiträge: 87
Standard

Lass Dir mal $_SERVER in Deinem Fehlerskript ausgeben. Du wirst staunen, was bei _SERVER[REDIRECT_URL] und/oder _SERVER[REQUEST_URI] steht.
VolkerK ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.10.2005, 01:54 Nach oben    #11
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 597
Standard

Zitat:
Du wirst staunen, was bei _SERVER[REDIRECT_URL] und/oder _SERVER[REQUEST_URI] steht.
Jedenfalls nicht was ich suche ...
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.10.2005, 09:54 Nach oben    #12
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 687
Standard

Ich habe mir da mal eine Art Workaround ausgedacht, vielleicht ist es eine Überlegung wert!?

Du hast deine Webseite http://www.meineseite.de/ in dessen Root-Folder du nun eine Datei anlegst, meinetwegen parse.php oder wie auch immer und eine .htaccess. Nun stellst du deine RewriteRule so ein, dass jeder Seitenaufruf (z.B. http://www.meineseite.de/unterordner/datei.php) umgeleitet wird auf die parse.php: parse.php?file=/unterordner/datei.php. Die Seite liegt dann zum Beispiel in einem extra Unterordner, wie sie normal im Root-Folder liegen würde und der eine Art Ausnahme der RewriteRule darstellt (wenn jemand den Ordner direkt aufruft, darf nicht die parse.php gestartet werden!). Die parse.php startet nun selber einen HTTP-Request an den Webserver im entsprechenden Unterordner der Seite, wo die Seite ansich liegt (deswegen darf nicht die parse.php aufgerufen werden, sonst ergibt sich eine Endlosschleife!!!) und erhält den entsprechenden Statuscode des Browsers zurück. Jenachdem, wlchen Code man nun erhält kann man entweder direkt die Seite ausgeben oder eben eine Fehlerseite anzeigen lassen.

Ich hoffe ich konnte mich klar ausdrücken und rein theoretisch (also in meinem Kopf ) funktioniert das alles wunderbar Habe nur selber jetzt noch nicht mit RewriteRules gearbeitet, weiß also nciht genau, wie die RegEx dort auszusehen haben, aber das wirst du wohl hinbekommen, oder?
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.10.2005, 16:41 Nach oben    #13
Benutzer
 
Registriert seit: 17.08.2005
Beiträge: 87
Standard

Zitat:
Zitat von CIX88
Zitat:
Du wirst staunen, was bei _SERVER[REDIRECT_URL] und/oder _SERVER[REQUEST_URI] steht.
Jedenfalls nicht was ich suche ...
Das ist sehr seltsam. Was ist dann an Deiner PHP-Version anders als an anderen? Denn in den beiden Parametern stehen normalerweise die originalen Pfadangaben drin.
Welcher Webserver? Welche Version. Welche php Version? Betriebsart (Modul/cgi)?

http://httpd.apache.org/docs/2.0/custom-error.html
Zitat:
At least REDIRECT_URL and REDIRECT_QUERY_STRING will be passed to the new URL (assuming it's a cgi-script or a cgi-include)
Das gilt auch für das php Apache-Modul.

Geändert von VolkerK (09.10.2005 um 16:46 Uhr)
VolkerK ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.10.2005, 17:13 Nach oben    #14
Benutzer
 
Registriert seit: 17.08.2005
Beiträge: 87
Standard

Ach ja, noch ein Beleg für die These - man soll mir ja keine leeren Behauptungen unterstellen können
http://www.php.net/urlhowto.php
Zitat:
What enables PHP.net to have this feature is a combination of some ErrorDocument Apache settings, redirecting the browser to another page in case of an "Error 401/3/4" and a little search script that looks up page names or functions names in the manual corresponding to what you searched for in http://www.php.net/search_for_this.
Die ganzen Skripte, Dokumente und pipapo kann man sich per rsync abholen und ansehen.
Langer Rede kein Sinn. ErrorDocument wird auf /error.php gesetzt und dort wird u.a. die Datei include/error.inc eingebunden.
Zitat:
Zitat von include/error.inc
// A 'good looking' 404 error message page
function error_404()
{
global $MYSITE;
status_header(404);
site_header('404 Not Found', array("noindex"));
echo "<h1>Not Found</h1>\n<p><strong>" .
htmlspecialchars(substr($MYSITE, 0, -1) . $_SERVER['REQUEST_URI']) .
"</strong> not found on this server.</p>\n";
site_footer();
exit;
}
VolkerK ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.10.2005, 17:34 Nach oben    #15
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 687
Standard

@VolkerK: ich glaube nicht, dass er das meinte, was du ihm vorgeschlagen hast, nämlich letztlich durch einen Fehlercode auf eine PHP-Seite zu leiten, die dann letztlich filtert, welcher Fehler-Code geschickt wurde, sondern er will eifnach nicht für jeden abzufangenden Fehlercode einen Eintrag in seine .htaccess machen. Er möchte quasi alle Fehlercodes mittels eines Befehls an ein Script weiterleiten und das geht mit ErrorDocument leider nicht, denn es gibt kein ErrorDocument * ./error.php.

Mein Workaround bietet da zwar eine Art Abhilfe, ist aber mit Sicherheit nicht so performant, da jede einzelne Fitzeldatei durch das PHP-Script muss, leider eine etwas unschöne Art, aber es hilft zumindest wirklich ein Script zu haben, dass automatisch alle HTTP-Codes abfangen kann.
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.10.2005, 17:38 Nach oben    #16
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.374
Standard

ich habe es so verstanden, dass in der error404.php (und sonstiger Fehler) gelesen werden soll, welche Seite eigentlich versucht wurde zu laden.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.10.2005, 17:56 Nach oben    #17
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 597
Standard

Jo genau, in der 404-PHP-Datei soll der Fehler angezeigt werden, bzw. die Datei welche aufgerufen worden ist.

Habe ich das so umständlich im ersten Posting erklärt ?

Rufe ich folgendes auf:

...cix88.de/uhu.html

soll in der dazugehörigen Fehlerdatei der Hinweis zu uhu.html erscheinen.

Dazu muss aus der .htaccess irgendwas mit übergeben werden, aber hier geht das eigentliche Problem los, wo ich derzeit nicht weiter komme.

EDIT:

Aber ich werd vermutlich einen anderen Weg gehen ...
Ich dachte, ich könnte es über .htaccess lösen aber nicht bei 1und1

Geändert von CIX88 (09.10.2005 um 18:01 Uhr)
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.10.2005, 18:14 Nach oben    #18
Benutzer
 
Registriert seit: 17.08.2005
Beiträge: 87
Standard

Was fehlt denn?
Bei http://faq.1und1.de/hosting/technik/htaccess/ bzw. http://faq.1und1.de/hosting/technik/htaccess/2.html wird ErrorDocument doch aufgeführt
VolkerK ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.10.2005, 18:19 Nach oben    #19
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 597
Standard

Die URLs kenne ich bereits, aber hat nicht geholfen.
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.10.2005, 18:39 Nach oben    #20
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 687
Standard

Hmm... OK, scheine das falsch verstanden zu haben, allerdings frage ich mich wirklich, warum dir die Informationen aus $_SERVER nicht reichen, aber du sagst ja nur "bringt nix", ohne ne Fehlermeldung oder Begründung zu liefern, weshalb das nix bringt
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehlermeldung: bei preg_match() Alpha Centauri PHP-Programmierung 1 07.04.2007 12:12
MySQL Fehlermeldung: Your query requires a full tablescan ... Chr!s Datenbanken 12 31.07.2006 21:45
Suche Möglichkeit htaccess User per Script zu erfahren derMaggus Tools, Server, Betriebssysteme 5 19.01.2006 20:09
fehlermeldung bei if MrBrot Allgemeine Java-Programmierung 13 23.02.2005 13:04
JBuiderX + Folgende Fehlermeldung Borusse-KLE Tools, Server, Betriebssysteme 0 13.01.2005 21:51


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45