Ajax mit htaccess ErrorDocument Problem - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html) +--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html) +--- Thema: Ajax mit htaccess ErrorDocument Problem (/thread-32957.html) |
Ajax mit htaccess ErrorDocument Problem - Devidra - 09.12.2015 Wie im Titel beschrieben, hab ich ein Problem damit, ich weiß nicht ob ich den Baum vor lauter Bäume nicht sehe oder die späte Uhrzeit mich wieder umhaut Erklärung: Ich benutze ein selbstgeschriebenes Ajax Prinzip, damit der Content reloaded wird und nicht die ganze Seite Ebenfalls funktioniert dort alles, jedenfalls bis ein User mal "kein" javascript aktiv hat Die Seite läuft mit oder ohne Javascript, bis auf diesen kleinen schönheitsfehler, da ich nicht weiß wie dies mit htaccess geregelt werden kann, hab ichs mit PHP versucht Es funktioniert, doch leider dann die Ajax Variante nichtmehr, also kommen wir nun zum genauen Problem Problem: Ajax lädt Link, wertet den Zugriff aus, sollte 404 Fehler kommen, wird die Error Seite eingeblendet mit den Parameter "?id=XYZ" URL wird ebenfalls umgeschrieben zu "/error/?id=XYZ" Ohne Javascript, lädt die Error Seite, per ".htaccess - ErrorDocument", Fehlermeldung wird korrekt ausgegeben, doch die URL updatet sich nicht Wichtigste Codestellen: Error-Seite ( hier ist nur testweise wenig definiert ) PHP-Code: if (isset($_GET["id"])) Ajax Error-Teil PHP-Code: // Ajax Fehlermeldungen definieren .htaccess PHP-Code: ErrorDocument 400 /error/ Da ich mit der ".htaccess" recht wenig anfangen kann, bin ich überfragt ob es dort nicht eine einfache Lösung gibt wenn in der Error Seite der "header" Teil wieder "aus"auskommentiert wird, passiert das was ich oben bereits scheib, Ajax würde die Fehlerseite nichtmehr laden sondern die Seite direkt aufrufen, die im HREF drinne steht Jetzt hingegen wird alles richtig geladen, nur halt die URL wenn Javascript deaktiviert ist macht mir Probleme DANKE, dass sich einer überhaupt die mühe machte das hier zu lesen und evt. eine Lösung hierfür zu haben, vorallem wenn es mit der ".htaccess" zu tuen hat wäre ich echt dankbar, gibt auch Kekse und Küssen PS: Falls noch Fragen offen sind oder ich vergessen hab was zu erwähnen/aufzulisten, bitte schreiben RE: Ajax mit htaccess ErrorDocument Problem - StefanT - 09.12.2015 Wenn ich deinen Code richtig verstehe, wird nur weitergeleitet, wenn $_SERVER["REDIRECT_STATUS"] gesetzt wird? Ist dies der Fall? RE: Ajax mit htaccess ErrorDocument Problem - Devidra - 09.12.2015 Genau Leitet weiter mit REDIRECT_STATUS PHP-Code: ErrorDocument 404 /error/ Erkennt Redirect Status und gibt Fehler aus HEADER LOCATION sollte dafür dienen das die URL richtig gesetzt wird Zurzeit gibt er nur den Error Code aus ( welche auch richtig sind ) PHP-Code: elseif (isset($_SERVER["REDIRECT_STATUS"])) { Wenn ich nun nicht so penibel wäre und auf die URL anzeige bestehen würde wäre ja schon alles korrekt DOCH, da diese aktion nur geschieht wenn Javascript deaktiviert ist, kann ich jenes auch nicht benutzen Edit: Ich frag mich wieso ErrorDocument nicht direkt auf die gesagt URL weiterleitet, sonst würde der PHP Redirect nicht gebraucht, aber so lädt er weiterhin die URL die aufgerufen wird ( localhost/irgendwas/nichtvorhanden ) anstatt die Error URL ( localhost/error/?id=XYZ ) Ich glaube wenn es keine richtige Lösung gibt, werd ich dies einfach so lassen, sieht zwar nicht schön aus und ich müsste doppelt einstellen 1: Wenn die ID über Ajax läuft ( ist ja oben schon richtig ) 2: Wenn über ein Redirect dies geschieht RE: Ajax mit htaccess ErrorDocument Problem - Devidra - 09.12.2015 Habe einen groben Denkfehler Wenn der Error über Ajax geschieht, bekommt er ja die Error + ID URL, dies soll ja so geschehen da dort keine permanente neue Seite geladen wird Somit kann man, wenn man auf einen "Defekten" Link klickt, doch nichts falschmachen WENN aber Javascript ausgeschaltet ist, man aber nur "error/?id=XYZ" sieht, ebenfalls kleinere Leute haben selten Ahnung, darum wäre die URL beizubehalten nicht verkehrt Viele wissen dann nichtmal mehr, wo sie draufgeklickt haben oder andere Situationen.. Ich denke, das hat sich hiermit geklärt Schönheit != Effektiv |