Moved_XH

Third Party Plugins to CMSimple - how to install, use and create plugins

Moderator: Tata

Caravaner
Posts: 112
Joined: Sat Oct 05, 2019 5:20 pm
Location: Wadgassen (Saarland)
Contact:

Re: Moved_XH

Post by Caravaner » Wed Sep 07, 2022 7:05 pm

cmb wrote:
Wed Sep 07, 2022 4:42 pm
Das Problem ist sogar in der Hilfedatei beschrieben: https://github.com/cmb69/moved_xh/blob/ ... #L247-L252. :)
Wer lesen kann/tut ist klar im Vorteil. Sorry, war zu müde logisch vorzugehen. :oops:

Da jetzt sowieso eine Überarbeitung/Änderung meines Plugins ansteht (muss lernen zu schauen ob es moved im Pluginordner gibt) möchte ich versuchen es ein wenig schlauer zu machen.
Daher habe ich neue Fragen:
function custom_404() wird nur durch einen HTTP-Status 404 ausgelöst?
Gibt es sowas auch für 400,401,403,500 ?
Wenn nein: wie kann ich im Plugin den HTTP-Status des Servers ermitteln?
Das hat doch etwas mir >>header('HTTP/1.0 403 Forbidden')<< und so weiter zu tun?
Ich habe dazu nichts gefunden (Core Funktionen, Core Variablen), was mir auf die Sprünge geholfen hätte und ich bin in diesem Thema relativ uninformiert / Lernender.
Meine Idee war in der .htaccess
ErrorDocument 400 /?http-stausbehandlung
ErrorDocument 401 /?http-stausbehandlung
ErrorDocument 403 /?http-stausbehandlung
ErrorDocument 404 /?http-stausbehandlung
ErrorDocument 500 /?http-stausbehandlung

einzutragen und auf der Seite http-statusbehandlung den Besucher dialoggeführt zum Ziel zu führen und dem Webmaster bei 400-403 und 500 per mail zu informieren.
Ist für mich evtl. ein zu dickes Brett, aber man soll ja Ziele haben ;). Oder gibt es sowas schon und ich habe es nur nicht gefunden?

Und da ist noch was: Wird eine Adresse nach dem Muster domainname.de/xyz (also ohne „?”) eingegeben, beispielsweise https://lembach-cmsimple.de/xyz, wird richtigerweise die Seite für den 404-Fehler aufgerufen und ordnungsgemäß angezeigt. Stellt man dann den Mauszeiger auf einen Link (z.B. im Menü), der in das gleiche Web zeigt, so wird eine falsche Zieladresse in der Statuszeile eingeblendet! Was unwiegerlich zu einem erneuten Aufruf der 404-Seite führt, wenn man auf diesen Link klickt.
Das habe ich nur abschalten können in dem ich in der .htaccess eingetragen habe:
ErrorDocument 404 https://lembach-cmsimple.de/?404
Hab ich da schon wieder was falsch gemacht oder ist es "normal", dass bei
ErrorDocument 404 /?404
die falsche Adresse vor der ?404 steht (also z.B. https://lembach-cmsimple.de/xyz?404)?
Ich bin > 69 und lerne fast jeden Tag was Neues. Dafür vergesse ich was Anderes.
Der Trick ist, sich nicht darüber aufzuregen und morgen zu lernen, was man vorgestern vergessen hat. ;)
https://lembach-cmsimple.de

cmb
Posts: 14227
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Moved_XH

Post by cmb » Wed Sep 07, 2022 9:08 pm

Caravaner wrote:
Wed Sep 07, 2022 7:05 pm
cmb wrote:
Wed Sep 07, 2022 4:42 pm
Das Problem ist sogar in der Hilfedatei beschrieben: https://github.com/cmb69/moved_xh/blob/ ... #L247-L252. :)
Wer lesen kann/tut ist klar im Vorteil. Sorry, war zu müde logisch vorzugehen. :oops:
Ich hab's ja auch erst gelesen, nachdem du die Lösung gepostet hattest. Ist halt so. :)
Caravaner wrote:
Wed Sep 07, 2022 7:05 pm
function custom_404() wird nur durch einen HTTP-Status 404 ausgelöst?
Gibt es sowas auch für 400,401,403,500 ?
custom_404() wird nur aufgerufen, wenn der Core oder ein Plugin shead(404) aufruft; nicht aber, wenn z.B. header("404 Not found") direkt aufgerufen wird. Für die anderen Statuscodes gibt es keinen solchen Hook.
Caravaner wrote:
Wed Sep 07, 2022 7:05 pm
Wenn nein: wie kann ich im Plugin den HTTP-Status des Servers ermitteln?
Das hat doch etwas mir >>header('HTTP/1.0 403 Forbidden')<< und so weiter zu tun?
Dafür könntest du die PHP Funktion headers_list() verwenden. Das klappt aber nur, wenn nicht direkt nach dem header() Aufruf die Skriptausführung abgebrochen wird (die() oder exit()), und grundsätzlich nicht bei 500, weil dieser Code i.d.R. von PHP selbst gesetzt wird, direkt bevor das Skript aufgrund eines fatalen Fehlers beendet wird.
Caravaner wrote:
Wed Sep 07, 2022 7:05 pm
Meine Idee war in der .htaccess
ErrorDocument 400 /?http-stausbehandlung
ErrorDocument 401 /?http-stausbehandlung
ErrorDocument 403 /?http-stausbehandlung
ErrorDocument 404 /?http-stausbehandlung
ErrorDocument 500 /?http-stausbehandlung

einzutragen und auf der Seite http-statusbehandlung den Besucher dialoggeführt zum Ziel zu führen und dem Webmaster bei 400-403 und 500 per mail zu informieren.
Ist für mich evtl. ein zu dickes Brett, aber man soll ja Ziele haben ;). Oder gibt es sowas schon und ich habe es nur nicht gefunden?
Das kannst du im Prinzip so machen, aber auf der http-statusbehandlung Seite kannst du den Fehlerstatus wohl nicht direkt abfragen (der kommt ja von einem vorherigen Request; das ErrorDocument ist ein neuer Request für PHP). Ich gehe aber davon aus, dass du den Statuscode irgendwie an die Seite weitergeben kannst; wüsste aber aus dem Stehgreif nicht wie (bin kein Apache-Experte). Im schlimmsten Fall könntest du mehrere solcher Seiten anlegen (http-statusbehandlung-404 usw.)
Caravaner wrote:
Wed Sep 07, 2022 7:05 pm
Und da ist noch was: Wird eine Adresse nach dem Muster domainname.de/xyz (also ohne „?”) eingegeben, beispielsweise https://lembach-cmsimple.de/xyz, wird richtigerweise die Seite für den 404-Fehler aufgerufen und ordnungsgemäß angezeigt. Stellt man dann den Mauszeiger auf einen Link (z.B. im Menü), der in das gleiche Web zeigt, so wird eine falsche Zieladresse in der Statuszeile eingeblendet! Was unwiegerlich zu einem erneuten Aufruf der 404-Seite führt, wenn man auf diesen Link klickt.
Das habe ich nur abschalten können in dem ich in der .htaccess eingetragen habe:
ErrorDocument 404 https://lembach-cmsimple.de/?404
Hab ich da schon wieder was falsch gemacht oder ist es "normal", dass bei
ErrorDocument 404 /?404
die falsche Adresse vor der ?404 steht (also z.B. https://lembach-cmsimple.de/xyz?404)?
Hmm, da bin ich überfragt. Du kannst statt /?404 mal /index.php?404 ausprobieren; das könnte dann die richtige URL ergeben, aber da steht dann halt das index.php drin (das wird wiederum von CMSimple_XH auf ?404 weitergeleitet, aber trotzdem bisschen doof.

Vielleicht hat ein Apache-Experte noch ein paar Infos dazu.
Christoph M. Becker – Plugins for CMSimple_XH

Caravaner
Posts: 112
Joined: Sat Oct 05, 2019 5:20 pm
Location: Wadgassen (Saarland)
Contact:

Re: Moved_XH

Post by Caravaner » Thu Sep 08, 2022 6:07 am

cmb wrote:
Wed Sep 07, 2022 9:08 pm
Im schlimmsten Fall könntest du mehrere solcher Seiten anlegen (http-statusbehandlung-404 usw.
Ich glaube fast, da hab ich mir ein wenig zu viel vorgenommen, deshalb werde ich wohl so verfahren, wie Du gerade beschrieben hast. Dann muss ich halt in der Dokumentation etwas weiter ausholen.
Und wegen der
ErrorDocument 404 /?404
- Problematik bezüglich der Links werde ich mal weiter im Forum suchen und evtl. ein neues Thema starten.
Hab auf jeden Fall Dank für deine Zeit und Geduld!
Ich bin > 69 und lerne fast jeden Tag was Neues. Dafür vergesse ich was Anderes.
Der Trick ist, sich nicht darüber aufzuregen und morgen zu lernen, was man vorgestern vergessen hat. ;)
https://lembach-cmsimple.de

olape
Posts: 3192
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Moved_XH

Post by olape » Thu Sep 08, 2022 6:32 am

Caravaner wrote:
Wed Sep 07, 2022 7:05 pm
Und da ist noch was: Wird eine Adresse nach dem Muster domainname.de/xyz (also ohne „?”) eingegeben, beispielsweise https://lembach-cmsimple.de/xyz, wird richtigerweise die Seite für den 404-Fehler aufgerufen und ordnungsgemäß angezeigt. Stellt man dann den Mauszeiger auf einen Link (z.B. im Menü), der in das gleiche Web zeigt, so wird eine falsche Zieladresse in der Statuszeile eingeblendet! Was unwiegerlich zu einem erneuten Aufruf der 404-Seite führt, wenn man auf diesen Link klickt.
Das habe ich nur abschalten können in dem ich in der .htaccess eingetragen habe:
ErrorDocument 404 https://lembach-cmsimple.de/?404
Hab ich da schon wieder was falsch gemacht oder ist es "normal", dass bei
ErrorDocument 404 /?404
die falsche Adresse vor der ?404 steht (also z.B. https://lembach-cmsimple.de/xyz?404)?
Das kann ich nicht nachvollziehen, auch nicht bei https://lembach-cmsimple.de/?404
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

Caravaner
Posts: 112
Joined: Sat Oct 05, 2019 5:20 pm
Location: Wadgassen (Saarland)
Contact:

Re: Moved_XH

Post by Caravaner » Wed Sep 14, 2022 12:08 pm

Nachtrag:
Inzwischen hat sich mit der eigenen Fehlerseite ein weiteres Problem gezeigt:
viewtopic.php?f=16&t=8487&p=84626#p84626
Nur als Nachtrag zu meinem Post vom 6. September.
Ich bin > 69 und lerne fast jeden Tag was Neues. Dafür vergesse ich was Anderes.
Der Trick ist, sich nicht darüber aufzuregen und morgen zu lernen, was man vorgestern vergessen hat. ;)
https://lembach-cmsimple.de

cmb
Posts: 14227
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Moved_XH

Post by cmb » Tue Feb 07, 2023 11:22 am

Ich habe nun endlich Moved_XH 1.0 veröffentlicht. Die neue Version wird bei einem bereits definierten custom_404() Hook keinen fatalen Fehler mehr auslösen, sondern dieses Problem in der Systemprüfung (Plugins → Moved) anzeigen.

Viel Spaß damit!
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply