Hallo!
Ich möchte für eine Seite, auf der Joomla! (1.5.22) läuft, die Seiten, die bei einem HTTP-Fehler angezeigt werden bearbeiten. Dies ist mir bei der Seite für „404 - Not Found“ schon gelungen, andere Fehlermeldungen wie zum Beispiel „403 - Forbidden“ kann ich aber mit der gleichen, angepassten Methode nicht ändern:
Gibt es dort ein Problem im Code oder liegt es eventuell daran, dass Joomla! nicht beeinflussen kann, was angezeigt wird?
Müsste ich stattdessen die .htaccess-Datei bearbeiten und Apache direkt sagen, was angezeigt werden soll?
Vielen Dank im Voraus!
Julian
ich habe gerade kein Joomla zur Hand um nachzuschauen, aber ich denke, das alles unter Basisurl mittels mod_rewrite an Joomla geht und Joomla den 404 Fehler intern erzeugt, wenn es die entsprechende Seite nicht gibt.
Wenn nun direkt vom Apachen .htaccess Zugriffsrechte (also IP/Passwortbasiert) gesetzt werden, bekommt Joomla da nichts von mit, weil das gar nicht aufgerufen wird.
Probiere einfach einmal, deine Eigene Seite als ErrorDocument 403 /errors/403.html oder ähnlich in der .htaccess zu ergänzen, evtl. reicht das schon.
Evtl. kann man die auch an die Joomla Index.php weiterleiten und dann in der errors.php wie du geschrieben hast behandeln, musst du aber probieren.
ich würde das über die htaccess steuern. HAbe mich aber mit dem Thema noch nie ernsthaft beschäftigt, mir reichten bisher immer die Standardausgaben vom Apache.
Beim stöbern zu dem Thema habe ich das gefunden: selfhtml Forum
Grüße,
ich bin kein Joomla Spezialist, würde aber vermuten, dass die .htaccess in diesem Fall den Error an das Script entsprechend weiterleiten muss bevor er im PHP Script „aufgefangen“ werden kann.
Du bist genau auf der richtigen Spur. Du musst die .htaccess entsprechend anpassen. Möglich wären zwei Lösungen:
Beispiel 1: Kodierte Fehlermeldung in HTML
HTML für individuelle Fehleranzeige
ErrorDocument 404 "Seite nicht vorhanden\
\
body {background-color:#EEEEEE;}\
h1,p,a {font-family:Helvetica,Arial,Sans-serif;}\
h1 {font-size:1.7em; margin-bottom:0em;}\
p {font-size:0.95em;}\
a {font-size:0.93em; text-decoration:none;}\
a:link,a:visited {color:#000080;}\
a:hover {color:#FF0000;}\
\
\
Fehler 404 \
Die angeforderte URL kann nicht gefunden werden. \
Probieren Sie es bitte erneut mit einem Aufruf der\ Startseite. \
"
oder
Beispiel 2: HTML-Dokument im Verzeichnis
Das bedeutet, dass ein lokales HTML-Dokument, das im selben Verzeichnis wie die .htaccess-Datei liegt, die gewünschte Anzeige enthält. Dazu wird folgendes notiert:
Du bist genau auf der richtigen Spur. Du musst die .htaccess entsprechend anpassen. Möglich wären zwei Lösungen:
Beispiel 1: Kodierte Fehlermeldung in HTML
HTML für individuelle Fehleranzeige
ErrorDocument 404 "Seite nicht vorhanden\
\
body {background-color:#EEEEEE;}\
h1,p,a {font-family:Helvetica,Arial,Sans-serif;}\
h1 {font-size:1.7em; margin-bottom:0em;}\
p {font-size:0.95em;}\
a {font-size:0.93em; text-decoration:none;}\
a:link,a:visited {color:#000080;}\
a:hover {color:#FF0000;}\
\
\
Fehler 404 \
Die angeforderte URL kann nicht gefunden werden. \
Probieren Sie es bitte erneut mit einem Aufruf der\ Startseite. \
"
oder
Beispiel 2: HTML-Dokument im Verzeichnis
Das bedeutet, dass ein lokales HTML-Dokument, das im selben Verzeichnis wie die .htaccess-Datei liegt, die gewünschte Anzeige enthält. Dazu wird folgendes notiert:
Hallo Thomas,
vielen Dank für deine Hilfe! Ich habe jetzt die .htaccess angepasst, und zwar direkt mit HTML, da auf meinem lokalen Server Probleme mit dem relativen Pfad auftraten.
Nochmals danke und schöne Grüße
Julian
Ich glaube auch, das das direkt vom Server gesteuert wird, weil bei meinem Webspace kommt man auf die z.B. 404 Fehlerseite vom Anbieter, wo dieser dann auch Werbung platziert. Also wenn dann überhaupt über htaccess