Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

ErrorDocument 404 Problem

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
Hasenhuf
PostRank 9
PostRank 9
Beiträge: 2840
Registriert: 26.12.2005, 22:22

Beitrag von Hasenhuf » 02.06.2006, 21:41

Das Thema Fehlerseite ist zur Zeit ja beliebt. Ich habe da auch ein Problem.

.htaccess

Code: Alles auswählen

...
ErrorDocument 404 /verzeichnis/404.htm
Wenn ich die Seite 404.htm direkt aufrufe, Funktioniert alles mehr oder weniger*. Wenn ich eine nicht existierende Seite aufrufe (IE 6) wird die Hintergrundfarbe übernommen und dort wo ich über <object> eine SVG einbinde ein weißes Rechteck dargestellt. Von dem swf Player der weiter unten ebenfalls über <object> eingebunden ist sieht man nichts (nur das man bis hin scrollen kann läßt ihn da vermuten). Der Browser lädt und lädt ("2 Elemente") und reagiert nicht auf "abbrechen" (aber auf zurück). Diese beiden "Objektrahmen werden dargestellt und man kann sie an- bzw. wegklicken, das ändert aber nichts.

* Wie schon geschrieben ist das alles inhaltlich nicht unbedingt kompatibel aber valid und offline funktioniert die Seite mit dem gleichen Browser so wie beim Direktaufruf.

Hat jemand Ahnung woran es liegen könnte? Was für Besonderheiten sind zu beachten, wenn eine Fehlerseite so aufgerufen wird?


Quelltext der 404.htm, gekürzt.

Code: Alles auswählen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http&#58;//www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
   <meta http-equiv="Content-Style-Type" content="text/css">
  <style type="text/css">
body &#123; background-color&#58;#000000;
     margin&#58;6px; &#125;
</style>
  </head>
<body style="text-align&#58;center;">
<div style="width&#58;748px;margin&#58;0px auto;text-align&#58;left;">
<p style="text-align&#58;center">
<object data="bild.svg" type="image/svg+xml" width="723" height="575">
    <param name="src" value="bild.svg">
    404 Fehlerseite<br>
    <br>
     bla ... <a href="http&#58;//www.adobe.com/svg/viewer/install/main.html">Adobe SVG Viewer</a> <br>
    Zur Startseite geht es <a href="/">hier</a>.
  </object>
</p>
<p style="text-align&#58;left">
<object type="application/x-shockwave-flash" data="emff_standard.swf?src=1000hz.mp3&autostart=yes&loop=yes&streaming=no" width="110" height="34">
 <param name="movie" value="emff_standard.swf?src=1000hz.mp3&autostart=yes&loop=yes&streaming=no">
 <param name="quality" value="high">
 <param name="bgcolor" value="#000000">
bla ... <a href="http&#58;//www.adobe.com/products/flashplayer/">Flash Player</a>.
</object>
</p>
</div>
</body>
</html>
PS: Beim Firefox verhält es ähnlich.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

haha
PostRank 9
PostRank 9
Beiträge: 1065
Registriert: 03.04.2006, 18:08
Wohnort: Bi Hamborg

Beitrag von haha » 03.06.2006, 09:50

Hasenhuf hat geschrieben:ErrorDocument 404 /verzeichnis/404.htm

Wenn ich die Seite 404.htm direkt aufrufe, Funktioniert alles mehr oder weniger*. Wenn ich eine nicht existierende Seite aufrufe (IE 6) wird die Hintergrundfarbe übernommen und dort wo ich über <object> eine SVG einbinde ein weißes Rechteck dargestellt. Von dem swf Player der weiter unten ebenfalls über <object> eingebunden ist sieht man nichts (nur das man bis hin scrollen kann läßt ihn da vermuten).

<object data="bild.svg" type="image/svg+xml" width="723" height="575">

<object type="application/x-shockwave-flash" data="emff_standard.swf?src=1000hz.mp3&autostart=yes&loop=yes&streaming=no"

Was für Besonderheiten sind zu beachten, wenn eine Fehlerseite so aufgerufen wird?
Die Fehlerseiten sind, entgegen häufiger Annahmen, keine Weiterleitungen, sondern werden quasi anstelle des angeforderten Objekts gesendet. Daraus ergibt sich, dass sich alle URLs in einer Fehlerseite auf die Fehler-URL beziehen, nicht auf den Platz, an dem sich die Fehlerseite befindet.

Deine beiden problematischen Objekte lädst Du über "bild.svg" und "emff_standard.swf", beides relative URLs. Rufst Du /bla/existiert_nicht.html auf, wird der Browser versuchen, /bla/bild.svg und /bla/emff_standard.swf aufzurufen, bei /123/tralala.html werden es dann entsprechen /123/bild.svg und /123/emff_standard.swf sein. Rufst Du die Fehlerseite direkt auf, hast Du natürlich den richtigen Pfad in der Adressleiste - deshalb funktioniert's dann auch (es würde aber auch funktionieren, wenn Du statt /verzeichnis/404.html /verzeichnis/xyz aufrufen würdest).

Langer Rede, kurzer Sinn: In Fehlerseiten immer mindestens halb-absolute URLs verwenden, d.h. relativ zum Wurzelverzeichnis des Servers, in Deinem Beispiel /verzeichnis/bild.svg und /verzeichnis/emff_standard.swf.

Hasenhuf
PostRank 9
PostRank 9
Beiträge: 2840
Registriert: 26.12.2005, 22:22

Beitrag von Hasenhuf » 03.06.2006, 10:55

Danke für die treffende Antwort. Das hätte man auf den vielen Seiten die das mit dem ErrorDocument beschreiben auch mal erwähnen können.

Und für alle die es ausprobieren wollen hinter emff_standard.swf?src= gehört auch ein absoluter Pfad.

Dann werde ich jetzt mal nach Browserworkarounds für <objekt> und SVG suchen. Im IE stört der Rahmen und der Aktivierungsklick und mit Firefox wird die SVG teilweise falsch angezeigt und der Player geht nicht. :-?

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag