以数字开头的不完整主题标题可能出现异常行为

如果您设置的标题以数字开头,且该数字恰好与另一个话题的 ID 相同,那么分享或点击直接链接(不带帖子 ID)时,系统会自动重定向到冲突的话题。

例如,此帖子的标题以 101646 开头,这是另一个话题的帖子 ID(就是这个)。

但如果我发布一个指向此处的链接:

https://meta.discourse.org/t/101646-12-42-interesting-bug-maybe

对于此示例,复制粘贴效果最佳。

这是当前话题的 URL,但它会重定向到“话题列表预览”(除非我在末尾提供 /153975)。

不过,其他任何帖子我都可以直接链接,只要它们的 URL 开头没有共享的 ID。
例如:

https://meta.discourse.org/t/install-plugins-in-discourse

可以正确重定向。

如果缺少主题 ID,我确信它正在执行查找操作,而你的数字 URL 会干扰该函数。

这未必是漏洞,因为 Discourse 本身不会分享不带主题 ID 的 URL。

当然,也许这不算是一个 bug,只是一个有趣的观察。不过,如果数字不冲突,链接确实可以正常工作……所以还是有点奇怪。

您只需要主题 ID,其余部分会自动解析。例如,此主题的链接为 https://meta.discourse.org/t/123-numbers-dont-mean-a-thing/153975

这意味着您可以在不修改现有链接的情况下修复标题或 URL 中的错误。非常巧妙。:slight_smile:

虽然有趣,但如果你没有主题 ID,系统通常也能根据标题找到正确的主题。

不,这是不正确的。该主题的 URL 是 https://meta.discourse.org/t/101646-12-42-interesting-bug-maybe/153975,而不是 https://meta.discourse.org/t/101646-12-42-interesting-bug-maybe/

因此,如果您输入的是不完整的主题 URL,系统会尝试使用数字来解析它…