【问题标题】:Angular 8 Multi-domain MultisiteAngular 8 多域多站点
【发布时间】:2019-08-25 17:47:17
【问题描述】:

如果可能,我希望使用 Angular 构建一个多站点应用程序。这个想法是允许用户使用他们指定的子域生成一个新站点,并将他们的域指向这个子域。与 WordPress 的多站点和域映射功能完全一样。

我已经从 Angular 8 构建了一个 WordPress 主题,并用它来实现我的目标,但感觉有点笨拙,而且我不是 WordPress 用户管理系统的忠实粉丝。我还在其他两个应用程序中使用 firebase 进行身份验证,因此这将是这些应用程序的扩展。

我的问题: 这可以使用角度吗?

我可以在无头模式下使用 wp-API 和 WordPress 达到预期的效果吗?

我是否可以简单地在主机上设置通配符域并将所有域指向单个 Angular 应用程序。然后使用角度通配符路由和 firebase 来引导和加载该特定域的正确数据?

或者我完全错过了标记..

提前感谢您的任何评论

【问题讨论】:

    标签: angular wordpress wildcard firebase-hosting multisite


    【解决方案1】:

    虽然 Firebase 托管支持子域,但它不支持通配符映射,因为它依赖于letsencrypt.org 获取证书。

    【讨论】:

    • 那么我能否从不同的方向解决问题,将域名作为参数传递,并根据传入的域名提供动态数据?比如说,1.com 会自动从“sites/1”加载来自 Firebase 的数据。 2.com 将提供来自“sites/2”等的数据。然后我可以使用另一个带有通配符域的主机并将所有内容都指向同一个域?
    【解决方案2】:

    这应该可以通过使用我的插件Xo for Angular 来实现。

    您可以创建一个 Angular 应用程序作为您的多站点的主题。 Xo API 为每个站点提供了一个连接以拥有自己的页面和内容。

    如果您认为这对您有用,请告诉我!

    【讨论】:

      【解决方案3】:

      我最终将可能的域名存储在数据库中,并使用document.write(document.location) 和数据库查询来提供相应的内容。这样,每当有人从 example.com 访问我的 SPA 时,他们都会获得存储在数据库中 example.com 下的数据。 Example2.com 得到不同的数据。最终结果正是我所寻找的,我所要做的就是将网站托管在允许通配符域的地方。完成!

      【讨论】:

      • 您能否进一步澄清这一点? document.write() 如何以及在哪里使用?我希望在 Angular 上设置子域,这样我就可以对带有 *.mydomain.com 的站点做出不同的响应。
      • @Chano 当然,我将 document.write() 添加到 app.component.ts 文件中,该文件在每次使用应用程序时都会加载。我在我的数据库中有一条“域”记录,我在其中查看该域是否已在我的应用程序中注册,然后获取该域的数据库记录 ID 并提供相应的内容。这比我想象的要简单得多。您甚至可以存储来自所见即所得编辑器的 html 并提供自定义用户生成的 html。祝你好运,希望这会有所帮助!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-26
      • 2020-08-28
      • 2018-01-27
      • 1970-01-01
      • 2018-07-16
      • 2010-09-18
      • 2014-12-04
      相关资源
      最近更新 更多