Es ist der zusätzliche Schrägstrich, der dafür sorgt, dass die Seiten nicht laden. Mit dem einzelnen Schrägstrich funktioniert alles wie erwartet. Warum besteht ihr darauf, am Ende der URL einen zusätzlichen Schrägstrich zu verwenden?
Wenn ich am Ende der URL meines Forums einen doppelten Schrägstrich verwende, passiert dasselbe – eine leere Seite… wie erwartet.
Mir ist die Ursache bewusst. Wenn der Domainname eines Forums in die Adressleiste eines Browsers eingegeben wird und automatisch zu einem einzelnen Schrägstrich vervollständigt wird, der Benutzer jedoch am Ende einen zusätzlichen Schrägstrich eingibt, wird bei jedem Discourse-Forum eine leere Seite angezeigt. Dies ist ein unerwünschtes Verhalten, lässt sich reproduzieren und ist über alle URIs hinweg konsistent.
Ein weiteres Problem besteht darin, dass die Autocomplete-Funktion des Browsers daraufhin möglicherweise einen doppelten Schrägstrich hinzufügt, da das Format der leeren Seite keinen Fehler wirft. Solange der Browser seinen Autocomplete-Verlauf nicht löscht, werden die Foren dauerhaft leer bleiben.
Wenn Sie https://apnews.com// eingeben, werden Sie zur Website der Associated Press weitergeleitet und erhalten einen 404-Fehler – Seite nicht gefunden. Es wird kein Inhalt geladen. Der einzige Unterschied, den ich sehe, ist, dass AP einen 404-Fehler zurückgibt, während Discourse-Seiten nur eine leere Seite anzeigen (ohne 404).
Die Auto-Vervollständigung zeigt beim Tippen weiterhin nur einen einzelnen Schrägstrich am Ende an.
Der ‘Fehler’ führt dazu, dass die Forum-Software weiterhin viele Megabyte an Informationen lädt, wie die Konsolen von Safari und Chrome zeigen – sie werden jedoch einfach nicht angezeigt.
Wenn URL-Umleitungen und/oder das Routing ein einzelnes Schrägstrich-Zeichen erwarten, führt ein doppeltes Schrägstrich-Zeichen dazu, dass das Erwartete „fehlschlägt". Auf einer *statischen Seite" können Sie (und werden es wahrscheinlich auch) alles korrekt laden lassen. Auf einer dynamischen Seite treten jedoch Probleme auf. Selbst einige CGI-Anwendungen, die die URL direkt analysieren, können fehlschlagen. Manche Server betrachten mehrere Schrägstriche sogar als Form eines Exploit-Angriffs, insbesondere wenn die doppelten Schrägstriche in der Mitte der URL stehen.
Vielleicht kann ein Mitglied des Discourse-Teams eine bessere Erklärung dazu geben, wie Discourse auf mehrere Schrägstriche reagiert. Es wäre jedoch besser, wenn in solchen Fällen eine 404-Antwort zurückgegeben würde.
Bin mir ziemlich sicher, dass Ember das schon seit langem behoben hat. Wahrscheinlich liegt es an unseren benutzerdefinierten Location-Funktionen oder Ähnlichem.