根据不同域显示不同设置

你好,

我有几个在线产品,我希望每个产品都有自己的在线社区。但是,由于这些产品可以互操作,因此许多客户同时使用多种产品。

考虑到这一点,我想为所有产品使用一个 Discourse 实例,但根据访问它的域显示不同的主题。

例如:

  • app1 → 显示 App1 的徽标和颜色
  • app2 → 显示 App2 的徽标和颜色

此外,由于所有帖子都必须根据产品名称进行标记,因此我想隐藏来自其他产品的帖子的标签。例如,如果你正在访问 app2.com,则隐藏 #app1。

除非用户选择同时浏览多个社区,否则应发生这种情况。

我可以获得任何帮助;但是,我明白类似这样的东西可能无法开箱即用。作为一名开发人员,我可以创建一个插件并编写额外的 JavaScript 代码来实现这一点。

我认为第一个障碍是允许同一个 Discourse 实例在多个域上运行。我该如何开始?

在多个网站上拥有相同的信息对 SEO 来说是大忌。我不推荐这样做。我有一个(我认为已损坏,但我很快就会修复它)主题组件,它可以根据用户所属的群组更改主页,因此您可以根据用户创建帐户时获得的自定义字段来设置他们的群组,将他们的主页设置为他们喜欢的产品类别。

如果您不关心网站被索引,可以查看 web_only 模板,该模板会进行重定向,并向您的 yml 文件添加内容以撤销此操作。我认为 使用 Let’s Encrypt 和无反向代理设置多站点配置 提供了一个示例。