tl;dr: Wenn ich das Feld discourseUrl beim Einbetten von Kommentaren setze, liest Discourse das beim Parsen der Seite oder nur als Teil der Anfrage zum Parsen der Seite?
Hallo!
Ich benutze Discourse als Forum und zum Einbetten von Kommentaren auf meinen Beiträgen auf HappyCoding.io.
- Hier ist ein Beispiel für eine Seite mit eingebetteten Kommentaren: Isometric Cubes - Happy Coding
- Und der entsprechende Discourse-Beitrag: https://forum.happycoding.io/t/isometric-cubes/738
In den letzten Wochen habe ich einige Seiten auf meiner Hauptseite verschoben, von einem /examples-Verzeichnis in ein /tutorials-Verzeichnis. Ich habe auf der Hauptseite Weiterleitungen eingerichtet, damit die alten Links weiterhin funktionieren, und um nicht eine Menge neuer eingebetteter Discourse-Beiträge zu generieren, habe ich sichergestellt, dass der Einbettungscode auf den vorhandenen Seiten die alte URL als discourseEmbedUrl verwendet.
Das hat meistens gut funktioniert, außer dass ich jetzt, ein paar Wochen später, zufällige neue Beiträge auf meinem Discourse sehe, die scheinbar von den neuen URLs für meine Seiten generiert wurden. Selbst wenn es bereits einen vorhandenen Discourse-Beitrag für https://happycoding.io/tutorials/p5js/creating-classes/isometric-cubes gibt, der die alte URL https://happycoding.io/examples/p5js/creating-classes/isometric-cubes verwendet, sehe ich einen neuen Beitrag für https://happycoding.io/tutorials/p5js/creating-classes/isometric-cubes, der nur die neue URL verwendet.
Ich glaube, das passiert, weil jemand anderes (nicht ich) eine lokale Version meiner Website ausführt, die nicht die alte URL als discourseEmbedUrl übergibt. Ich bin mir nicht sicher, ob das bösartig ist, da es ein paar Stunden gab (zwischen diesem Commit und diesem Commit), in denen mein Code das Falsche tat. Es fühlt sich seltsam an, dass jemand genau die falsche Version des Codes ausführen würde, aber es ist das Einzige, was mir einfällt, das diese Discourse-Beiträge generieren würde.
Entschuldigung für den vielen Hintergrund, aber meine Fragen sind:
- Stimmt das bisher so weit? Ich glaube, ich verstehe, wie Discourse-Embeds funktionieren, aber vielleicht übersehe ich etwas.
- Wenn ich die
discourseUrlwie unter Embed Discourse comments on another website via Javascript beschrieben setze, wird Discourse diese URL nur als Teil der Anfrage kennen oder liest sie von der Seite, wenn sie geparst wird? (Ich frage, weil das Setzen auf meiner Website nicht helfen wird, da die Anfragen von jemand anderem kommen.) - Gibt es einen anderen Ansatz, den ich verfolgen könnte, um zu verhindern, dass andere Benutzer Anfragen an meine Discourse-Instanz senden und sie dazu bringen, Beiträge für die falschen URLs zu erstellen? Ich habe bereits eingebettete Beiträge als nicht gelistet markiert, was hilft, aber ich möchte nicht jedes Mal einen Discourse-Beitrag genehmigen müssen, wenn ich eine Seite zu meiner Website hinzufüge.
Entschuldigung, dass dies länger geworden ist als geplant, und vielen Dank für jede Hilfe, die ihr anbieten könnt!