yakamara / redaxo_yrewrite

A multidomain URL rewrite engine for REDAXO
MIT License
56 stars 36 forks source link

Notice: bei unbekannter Domain #390

Closed skerbis closed 2 years ago

skerbis commented 3 years ago

Warning Invalid argument supplied for foreach() redaxo/src/addons/yrewrite/lib/yrewrite/yrewrite.php 375

Warning Invalid argument supplied for foreach() redaxo/src/addons/yrewrite/lib/yrewrite/yrewrite.php 362

Es passiert wenn eine URL einer nicht in yrewrite verwalteten Domain aufgerufen wird.

Lösungsmöglichkeiten / Vorschläge

alxndr-w commented 3 years ago

Ich empfehle die letzte Option, sie ist am zuverlässigsten und am klarsten, was passiert und warum.

gharlan commented 3 years ago

Die Warning sollte nicht kommen, und werde ich beseitigen. Aktuell sollte es eine 404-Antwort sein, und das würde auch so bleiben.

skerbis commented 3 years ago

Antwort ist ein 404 , + Die Notice

193.92.XXX - - [06/Dec/2020:09:21:58 +0100] “GET /wp-login.php HTTP/1.0” 404 26815 “-” “Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1

alxndr-w commented 3 years ago

404 und dazu noch eine leere Seite vielleicht oder eine explizite Fehlermeldung? Einen 404er alleine übersehen wieder Leute, die meinen, sie hätten die Weiterleitung/Domain gerade korrekt konfiguriert. Es sollte der Admin forciert werden zu handeln und entweder eine saubere Weiterleitung beim Hosting einrichten oder die Domain in YRewrite hinterlegen.

skerbis commented 3 years ago

Es kommt für den Besucher die Seite nicht gefunden page. Das ist soweit ok @alxndr-w . Nur die Notice im Log könnte entweder eindeutiger sein oder wegfallen.

alxndr-w commented 3 years ago

Es gibt kein denkbares Szenario, in dem man will, dass eine zusätzliche Domain auf eine REDAXO-Installation zeigt und sie nicht von YRewrite verwaltet wird.

Deswegen sollte so eine Konfiguration zu einem gut sichtbaren Feedback für den Entwickler führen. Ein 404er-Status oder eine Info im Log ist das nicht.

Im Sinne einer guten Developer-UX würde ich mir ein klareres Feedback wünschen – bis hin zur Aufforderung.

Wer fälschlicherweise auch die Startseite als Fehlerseite eingestellt hat, wird wohl ebenfalls nichts davon merken.

gharlan commented 3 years ago

Die Warning hier kann theoretisch auch bei einer hinterlegten Domain kommen in einem Edge Case, es war nur wahrscheinlicher, dass es über eine nicht existente Domain ging. Auch kommt die Warning nicht immer bei Aufruf über nicht existente Domain, sondern da auch nur bei bestimmter Konstellation. Die Warning sollte also an der Stelle auf jeden Fall abgefangen werden, und hat nichts direkt mit "Aufruf über nicht existente Domain" zu tun.

Aktuell kennt yrewrite die "default"-Domain, die für alle Bereiche greift, die außerhalb der hinterlegten Domains liegen. Und diese default-Domain, also eine nicht hinterlegte, akzeptiert jede Domain, über die die Website aufgerufen wird. Ich bin auch schon länger am überlegen, ob man die default-Domain abschaffen sollte. Aber das ließe sich nicht in 2.x machen, ich weiß, dass die durchaus genutzt wird. Zum Beispiel muss man aktuell theoretisch gar keine Domain in yrewrite hinterlegen.

gharlan commented 2 years ago

Die Notice müsste seit https://github.com/yakamara/redaxo_yrewrite/commit/07c1b556bd7fa12a37e5d173198abbe9126ac66f schon weg sein. Oder bekommt ihr sie noch?

alxndr-w commented 1 year ago

Mir ist sie seither nicht begegnet.