ErrorDocument 404 und das WBB4

  • Wenn ich im WBB 3 in meiner .htaccess ErrorDocument 404 / stehen habe, so lande ich bei Aufruf von http://www.example.com/404 (angenommen, die Seite 404 existiert nicht) auf der Startseite (also http://www.example.com/) und der Server gibt den Fehlercode "404" zurück.


    Das ist gut!


    Leider ist das beim WBB 4 nicht so, ich bekomme immer 307 zurück! Woher soll nun eine Suchmaschine wissen, dass die Seite nicht mehr existiert?


    Lasse ich das ErrorDocument einfach weg, so ist das Status zwar korrekt, aber der User erhält nur eine Serverfehlermeldung (auch unschön).


    Wie bekomme ich also beim WBB 4 eine bestimmte Seite vorgesetzt, die den Status 404 zurückgibt?

  • Ich fand die nackte Servermeldung auch etwas unschön, deswegen habe ich mir einfach die Fehlerseite selber erstellt mit Header 404 und 403.


    Error404Page.class.php


    error404.tpl


    .htaccess

    Code
    ErrorDocument 404 /index.php/Error404


    ist hier nur ein Beispiel, musst entsprechend an deine Installation anpassen.


    Gruß

  • Ich hatte bis jetzt keine Probleme damit wegen abgelaufene Sessions, so habe ich es damals auch unter wbb3 jahrelang betrieben.


    Allerdings habe ich das unter nginx laufen, weiß nicht wie es beim Apachen ist.

    • Official Post

    Beim Apache ist das Problem, dass keine Cookies übermittelt werden, dadurch wird bei einem 404 automatisch eine neue Session erzeugt und der neue Cookie gesetzt. Wie es sich bei nginx verhält weiß ich nicht.

  • Das WBB 3 hat die Fehlermeldung bzgl. der Session ja auch nicht (soweit ich weiß, läuft die da still ab ;) ).


    Ich verwende Apache.


    EDIT: @Alexander Ebert, bestand denn beim WBB 3 streng genommen dasselbe Problem?


    Und gibt es dann fürs WBB 4 keine Lösung? Es gab den Tipp mit mod_rewrite, aber ich erhalte da trotzdem immer 307 als Statuscode.

    • Official Post

    EDIT: @Alexander Ebert, bestand denn beim WBB 3 streng genommen dasselbe Problem?


    Natürlich, denn das Session-System von Burning Board 4.0 ist 1:1 identisch und wurde unverändert übernommen.


    Und gibt es dann fürs WBB 4 keine Lösung? Es gab den Tipp mit mod_rewrite, aber ich erhalte da trotzdem immer 307 als Statuscode.


    Damit habe ich mich nicht ausreichend beschäftigt um dir das zu beantworten.

  • Damit habe ich mich ausreichend beschäftigt um dir das zu beantworten.


    Das bedeutet was?


    a) Damit habe ich mich nicht ausreichend beschäftigt um dir das zu beantworten.
    b) Damit habe ich mich ausreichend beschäftigt um dir das zu beantworten: Nein, es gibt keine Lösung.

  • Theoretisch kannst ja die Weiterleitung weglassen, ist nur ne optische Sache mit den vom Webserver angezeigten ErrorPages. Die Error Header werden vom Apachen dann entsprechend gesetzt wenn ein Fehler auftritt und den Bots ist es egal ob der eine Apache ErrorPage oder WCF ErrorPage sieht.


    Gruß

  • Das Optische ist für den User, das 404 für die Bots. Beides zusammen scheint im WBB 4 nicht zu gehen (zumindest nicht ohne die Sessionprobleme).

  • Es gibt wohl irgendein SEO-Plugin, welches auch Fehlerseiten implementiert hat. Habe davon hier im Forum gelesen. Weiß jemand, wie das die Seiten bereitstellt? Besteht da die gleiche Problematik mit den Sessions? Ich bin immer noch auf der Suche nach einer geeigneten Lösung.

  • Danke erstmal. Es gab ja mal ein Plugin für solche Fehlerseiten, welches aber aus dem Pluginstore wegen Problemen entfernt wurde, siehe "Ihre Sitzung ist abgelaufen, bitte loggen Sie sich erneut ein."


    Letztendlich würde deine Methode doch zum gleichen Problem führen, oder?


    Das ist Quatsch!
    Es wurde hier nur was vermutet was ich nicht bestätigen kann!
    Siehe auch: "Ihre Sitzung ist abgelaufen, bitte loggen Sie sich erneut ein."

  • @CooIman
    Verwendest du denn überhaupt Apache als Webserver? Denn nur da scheint das Problem zu bestehen.


    Mach doch mal folgenden Versuch (falls du Apache einsetzt): benenne eine Grafikdatei um, die irgendwo im Forum benötigt wird und schaue, ob dann die Sitzung abläuft. Denn soweit ich das verstanden habe, würde dann durch das fehlerhafte Bild die Fehlerseite im Hintergrund geladen, was eine neue Session erzeugt.

  • Wie ich schon schrieb kann ich dass nicht bestätigen und auch nicht nachstellen und ich nutze meine Erweiterung jetzt immerhin seit einem Jahren selber auf zwei Foren von uns. Und seit neustem auch auf meiner neuen WBB4-Webdisk.com Seite. ;) Diese Methode nutzte ich auch auf meinem WBB3 was ich zuvor 5 Jahre lang hatte und auch auf allen meinen Webseiten die ich bisher hatte.


    Ein Tipp am Rande, nicht immer alles glauben was man so ließt, sondern sich auch mal selber davon überzeugen. :)


    Nur mal zum besseren Verständnis.
    Bei meiner Erweiterung sitzt das "AddHandler" nicht in der Forensoftware sondern wird mittels .htaccess Datei Server seitig angesprochen, was dann wiederum wieder die Fehlerseiten vom Forum aufruft. Die Fehlerseiten werden aber dann mit dem selben Account geladen mit dem man schon eingeloggt ist und wäre dass selber als würde man eine X-Beliebige Seite des Forums aufrufen. Der Einzige Unterschied besteht nur im Eintrag der Metatag, damit Suchmaschinen was mit dieser Seite was anfangen können.


    Also ich weiß ja nicht wie es in anderen Erweiterungen geregelt wurde, aber mein Art ist vollkommen ok, weil das Forum direkt mit dem AddHandler nichts zu tun hat.
    Finde es halt etwas überzogen wenn was behauptet wird was man selber nicht nachgestellt hat. In Sinne... ich glaubte letzten der Apfel wäre faul... dabei kam der Wurm von der Birne nebenan.... ;)


    Edit: Möchte dennoch deine Frage beantworten.

    Verwendest du denn überhaupt Apache als Webserver? Denn nur da scheint das Problem zu bestehen.


    Mach doch mal folgenden Versuch (falls du Apache einsetzt): benenne eine Grafikdatei um, die irgendwo im Forum benötigt wird und schaue, ob dann die Sitzung abläuft. Denn soweit ich das verstanden habe, würde dann durch das fehlerhafte Bild die Fehlerseite im Hintergrund geladen, was eine neue Session erzeugt.


    Zu 1 sollte ja klar sein...oder?
    Zu 2 Ergibt kein Sinn, denn zum einen kann man mit Board eigene Mitteln keine Dateianhänge umbenennen. Hier kann man nur löschen und neu hoch laden und eine Fehlerseite würde damit nicht verursacht werden, da das Bild in diesem Sinn nicht die Seite darstellt. Bei Bilder die per Links eingestellt werden würde man auch keine Fehlerseite erzeugen, da auch hier das Bild nicht die Seite darstellt, sondern einfach dann kein Bild angezeigt werden würde. Und selbst wenn man solch ein Fehlverhalten erzeugen könnte(was ich in selbst noch nie hatte), gäbe es sicherlich noch 1000 andere Möglichkeiten sich Fehler einzubauen.


    Das AddHandler kann aber mit einer 401er Fehlerseite Fehler verusachen, was ich selbst schon in einer errorlog nachstellen konnte. In meiner Erweiterung ist aber die 401er nicht mit enthalten, sondern nur 403, 404 und die 500er und hier hatte ich bisher noch kein Eintrag in der Errorlog verzeichnen können.


    Gruß Coolman

  • Also hat sich Alexander Ebert das nur ausgedacht?


    Ich schätze @Alexander Ebert sehr und mir sind seine Kenntnisse auch bekannt, aber ich kann seine Aussage mit meiner Erweiterung nicht bestätigen.
    Ich habe 700 Mitglieder sie sich innerhalb dieses Jahres nie beschwert haben und das Forum meines Sohnes hat 190 Mitglieder die sich ebenfalls nie beschwert haben. Die Erweiterung wurde auch 150mal herunter geladen, keiner hat hierzu je was gemeldet. Also sein Wort steht gehen diese ganzen Zahlen... ich denke dass spricht für sich.


    Ich würde nie was behaupten wenn ich nicht selbst davon überzeugt wäre. :)
    Und ich würde auch nicht von einer Brücke springen, nur weil es jemand sagt. ;)


    Gruß Coolman

    • Official Post

    @CooIman Ich hatte dies mit einem Apache 1 und 2 ausprobiert, dort wurden reproduzierbar keine Cookies an das ErrorDocument übergeben. Der Grund liegt darin, dass dies intern eine neue Request ist die direkt von Apache ausgelöst wird und dementsprechend die Informationen der Originalrequest nicht mitlieferte. Ob dies in neueren Apache-Versionen anders gelöst ist, ist mir nicht bekannt, möglich ist es zu mindestens.

  • Wie gesagt, nutze ich diese Art nun seit einem Jahr auf zwei Foren und wir haben keinerlei Probleme damit.
    Sie können sich gerne auch selbst davon überzeugen, ich kann ihnen zwei Foren dazu anbieten und einmal ein reines WCF-CMS System.
    Zumindest gab es bei uns noch nie solche Auswirkungen wo die Session verworfen wurde und sich Mitglieder neu einloggen mussten.


    Wenn hier zahlreich Leute Probleme hatten muss es an was anderes gelegen haben, denn ich hätte solche Problem in dieser Zeit mit Sicherheit auch selbst mit bekommen und ggf. auch gehandelt.
    Bei mir handelte es sich in dieser Zeit um den Apachen2 mit php5.4 bzw. jetzt mit php5.5


    Edit: Anzumerken ist noch dass Sessionen sehr viele Seiten nutzen die nichts mit Woltlab zu tun haben und diese Methode auf Fehlerseiten zu leiten nichts neues ist und solch ein derartiges Problem bisher auch sonst nicht bekannt ist. Denn ansonsten müssten ja alle Seiten im Internet davon betroffen sein was klar nicht der Fall ist. ;)

    Edit2:
    Habe unser neues GamingScore - Forum vergessen zu erwähnen, was ich vor kurzem mit der Forensoftware MyBB erstellt habe. Auch hier habe ich eigene Fehlerseiten ins Forum eingebaut und auf die selbe weiße eingerichtet. Auch hier ist solch ein Fehlverhalten mit der Session nicht zu verzeichnen.


    Gruß Coolman

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!