简而言之: 如果我在嵌入评论时设置了 discourseUrl 字段,Discourse 在解析页面时会读取它,还是只在请求解析页面时读取?
你好!
我使用 Discourse 作为论坛,并在我的 HappyCoding.io 帖子中嵌入评论。
- 这是一个嵌入评论的示例页面:Isometric Cubes - Happy Coding
- 对应的 Discourse 帖子:https://forum.happycoding.io/t/isometric-cubes/738
在过去几周里,我将我的主站上的某些页面从 /examples 目录移到了 /tutorials 目录。我在主页上设置了重定向,以便旧链接仍然有效,并且为了不生成大量新的嵌入式 Discourse 帖子,我确保现有页面中的嵌入代码使用 旧 URL 作为 discourseEmbedUrl。
这大部分都运行良好,但现在几周后,我开始在我的 Discourse 中看到随机的新帖子,似乎是由我页面的 新 URL 生成的。因此,即使 https://happycoding.io/tutorials/p5js/creating-classes/isometric-cubes 已经有一个使用旧 URL https://happycoding.io/examples/p5js/creating-classes/isometric-cubes 的现有 Discourse 帖子,我还是看到了一个针对 https://happycoding.io/tutorials/p5js/creating-classes/isometric-cubes 的 新 帖子,它只使用了新 URL。
我认为这是因为其他人(不是我)正在运行我的网站的本地版本,该版本没有将旧 URL 作为 discourseEmbedUrl 传递。我不确定这是否是恶意的,因为在我的代码出现错误的那几个小时里(在 此提交 和 此提交 之间),我的代码出现了错误。有人运行了错误版本的代码感觉很奇怪,但这是我唯一能想到的会生成这些 Discourse 帖子的原因。
抱歉说了这么多背景信息,但我的问题是:
- 首先,到目前为止我的理解对吗?我认为我理解 Discourse 嵌入的工作原理,但我可能遗漏了什么。
- 如果我按照 Embed Discourse comments on another website via Javascript 的描述设置
discourseUrl,Discourse 是只在请求时知道该 URL,还是在解析页面时从页面中读取它?(我之所以这样问,是因为在我自己的网站上设置它没有帮助,因为请求来自其他人。) - 我是否可以采取其他方法来阻止其他用户向我的 Discourse 实例发送请求并导致其为错误的 URL 创建帖子?我已经将嵌入式帖子设置为未列出,这有帮助,但我希望不必在我向网站添加页面时批准 Discourse 帖子。
抱歉比我计划的要长,感谢你们提供的任何帮助!