迁移后某些请求缺少域,从子文件夹移回子域

大家好,

我有一个 Discourse 安装,它之前位于一个子目录中,现在已移至一个子域。现在一切似乎都正常工作,但我们仍然存在一个问题,即 Discourse 调用的是“theme-javascripts”域而不是子目录。

这是最新的 Discourse 版本。

我们该如何解决这个问题?

谢谢。

1 个赞

您是按照 Serve Discourse from a subfolder (path prefix) instead of a subdomain 的反向操作吗?

可以分享您的网址吗?

2 个赞

Jay,我做过了——这也不是我第一次这么做了,以前都没有问题。新的网址是(隐藏网址)。

请注意:目前设计师正在处理样式,所以您在导航中可能会看到一些奇怪的现象。

1 个赞

我明白了,有一个东西引用了
https://theme-javascripts/44e23af3ca6cf81f41e66da02a80e1c9b45653cc.js?__ws=community.windowcleaner.com
而不是
https://community.windowcleaner.com/theme-javascripts/44e23af3ca6cf81f41e66da02a80e1c9b45653cc.js?__ws=community.windowcleaner.com

也许你的 app.yml 中有什么东西引用了……嗯……某个东西(比如“/”)导致它在前面添加了 https?

1 个赞

确实,情况就是这样——我尝试了几次重建,但还没有成功。如果我找到了原因,我会更新这个帖子!

1 个赞

还是没解决这个问题!我把它缩小到了来自官方插件的代码——如果我找到解决方案,我会在这里更新。

1 个赞

您的 hostname 是否为空?

app.ymlDISCOURSE_HOSTNAME: 的值是什么?

2 个赞

@merefield,不是空的——这个值是(隐藏 URL)。但我怀疑是相同的问题,或者类似的问题,因为 theme-javascript 是用两个斜杠前缀调用的。我想知道这是否是数据库中的某个值在从子目录迁移后未更新。我正在尝试对此进行调查。

2 个赞

我认为我已经解决了——我只需要重新映射;我不确定最初错误的 URL 是如何出现的,因为错误是在一次不是由我进行的重建之后出现的。

无论如何,我就是这样解决的:

> ./launcher enter app
> discourse remap //theme-javascripts  /theme-javascripts
> Rewriting all occurrences of //theme-javascripts to /theme-javascripts
> THIS TASK WILL REWRITE DATA, ARE YOU SURE (type YES)
> YES
> theme_fields=4
> Done

希望这将来能帮助到其他人。

5 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.