# 设置 discourseUrl 是否会阻止其他客户端为移动的页面创建嵌入式帖子？

**URL:** https://meta.discourse.org/t/does-setting-the-discourseurl-prevent-other-clients-from-creating-embedded-posts-for-moved-pages/246803
**Category:** Support
**Tags:** embedding
**Created:** [2022年十一月26日 17:48 UTC](https://meta.discourse.org/t/does-setting-the-discourseurl-prevent-other-clients-from-creating-embedded-posts-for-moved-pages/246803 "2022-11-26T17:48:18Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![KevinWorkman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kevinworkman/32/122364_2.png) [@KevinWorkman](https://meta.discourse.org/u/KevinWorkman)
#### Post date: [2022年十一月26日 17:48 UTC](https://meta.discourse.org/t/does-setting-the-discourseurl-prevent-other-clients-from-creating-embedded-posts-for-moved-pages/246803/1 "2022-11-26T17:48:19Z")

</div>

**简而言之：** 如果我在嵌入评论时设置了 `discourseUrl` 字段，Discourse 在解析页面时会读取它，还是只在请求解析页面时读取？

你好！

我使用 Discourse 作为论坛，并在我的 [HappyCoding.io](http://HappyCoding.io) 帖子中嵌入评论。

- 这是一个嵌入评论的示例页面：[Isometric Cubes - Happy Coding](https://happycoding.io/tutorials/p5js/creating-classes/isometric-cubes)
- 对应的 Discourse 帖子：[https://forum.happycoding.io/t/isometric-cubes/738](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` 传递。我不确定这是否是恶意的，因为在我的代码出现错误的那几个小时里（在 [此提交](https://github.com/KevinWorkman/HappyCoding/commit/d18914023c954748eb61ce0a9c441d9295855739#diff-252567a4ac4bf09f4dc510e845a2b05456af1df16f448bf2656c203a6eaa1ccf) 和 [此提交](https://github.com/KevinWorkman/HappyCoding/commit/8c33df2ac1179e9c013b1fd03466b97800b383a8) 之间），我的代码出现了错误。有人运行了错误版本的代码感觉很奇怪，但这是我唯一能想到的会生成这些 Discourse 帖子的原因。

抱歉说了这么多背景信息，但我的问题是：

- 首先，到目前为止我的理解对吗？我认为我理解 Discourse 嵌入的工作原理，但我可能遗漏了什么。
- 如果我按照 [Embed Discourse comments on another website via Javascript](https://meta.discourse.org/t/embed-discourse-comments-on-another-website-via-javascript/31963#alternate-configuration-linking-to-existing-topics-6) 的描述设置 `discourseUrl`，Discourse 是只在请求时知道该 URL，还是在解析页面时从页面中读取它？（我之所以这样问，是因为在我自己的网站上设置它没有帮助，因为请求来自其他人。）
- 我是否可以采取其他方法来阻止其他用户向我的 Discourse 实例发送请求并导致其为错误的 URL 创建帖子？我已经将嵌入式帖子设置为未列出，这有帮助，但我希望不必在我向网站添加页面时批准 Discourse 帖子。

抱歉比我计划的要长，感谢你们提供的任何帮助！
