代码之家  ›  专栏  ›  技术社区  ›  Mohammad Emran

用一个drupal服务多个站点(不使用多站点)

  •  3
  • Mohammad Emran  · 技术社区  · 14 年前

    我正在寻求专家的建议,如何最好地为多个站点提供一个Drupal实例(使用Pressflow 6.x)。让我们考虑一下需要这个的公司被称为“ABC公司集团”,它有三个姐妹公司。因此,总共将有四个站点:

    1. www.abcgroup.com网站
    2. www.company-a.com公司
    3. www.company-c.com公司

    以下是最有趣的事情:

    • 网站
    • 一些内容,将显示在所有的网站上(例如,公司范围的通知…或员工目录)
    • 每个网站的主题都不同

    现在,我正在考虑使用DNS条目,这样每个域都指向同一个Drupal安装,当Drupal启动时,我想探查$u服务器阵列,以知道哪个站点正在被攻击。然后我想相应地加载主题,显示特定于该站点的内容,并显示与所有站点共享的内容。

    为了实现这一点,到目前为止,我创建了一个名为“Site”的节点类型,并为每个站点创建了四个内容。然后,对于其他内容类型(例如,页面),我将一个节点引用放在具有多个值的“站点”内容类型上,以便在创建新内容时,管理员可以指定内容将显示在哪个站点。然而,在那之后,我陷入了困境。

    我试着去理解环境,空间,PURL——但是还没有完全弄清楚,我相信我可以利用社区的力量来帮助我。你认为处理这种情况的最佳方法是什么?

    如果有人能提出一个方向的建议,那将非常有帮助。

    当做,

    埃姆兰

    3 回复  |  直到 14 年前
        1
  •  5
  •   hookd    14 年前

    你建议的方式当然是你可以做到的,但是你考虑过域访问吗?我过去用过它,发现它非常有用。也有相当大的模块集合与它一起工作。不同的主题,关于哪些节点应该出现在哪些站点和共享用户上的选项都是它拥有的功能。

    http://drupal.org/project/domain

        2
  •  4
  •   Henrik Opel    14 年前

    先上 强烈地 Domain Access Module 为此(+1)。它为您的场景提供了广泛的支持/功能,并且已经涵盖了您需要解决的大部分困难部分。

    如果你坚持

    考虑到你需要涵盖的特殊情况很多,很难指出一个大致的方向(除了建议使用 域访问模块 (但是一个主要的问题是 custom_url_rewrite_inbound() / custom_url_rewrite_outbound() 功能组合。这将允许您对传入的请求以及为输出生成的URL进行非常低级的URL操作,如果您希望为同一实例中的多个域提供服务,这两种操作都需要执行。

    域访问模块 在你自己动手之前?

        3
  •  0
  •   picxelplay    14 年前

    听起来这些网站之间几乎没有内容共享。你想在所有网站上进行一次登录吗? 请记住,域访问使用1个共享数据库。 您也可以只进行常规的多站点安装,并共享某些表。

    我给了域访问两个大拇指,但只是确保你真的需要它实际做什么。

    另外,我会查看Feeds.module。您可以从任何地方(特别是另一个drupal站点)提取内容,然后直接导入,并自动从中创建节点和字段。