[英]Serving multiple site with one drupal (not using multi site)
我正在寻找有关如何使用一个Drupal实例最好地服务多个站点的专家建议(使用Pressflow 6.x)。 让我们考虑一下这个被称为“ABC集团公司”的公司,它有3个姐妹关注点。 所以,总共会有四个站点:
以下是最有趣的事情:
现在,我正在考虑使用DNS输入,因此每个域都指向相同的Drupal安装,当Drupal被引导时,我想嗅探$ _SERVER数组以了解哪个站点被命中。 然后,我想相应地加载主题,显示特定于该网站的内容,并显示与所有网站共享的内容。
为了实现这一点,到目前为止,我创建了一个名为“Site”的节点类型,并为每个站点创建了四个内容。 然后,对于每个其他内容类型(例如,页面),我已将节点引用放入具有多个值的“站点”内容类型,因此在创建新内容时,管理员可以指定将在哪个站点显示内容。 然而,在那之后我被卡住了。
我试图理解上下文,空间,PURL - 但还没有完全理解它们,我相信我可以利用社区力量来帮助我。 您认为处理这种情况的最佳方法是什么?
如果有人能提出方向,那将会非常有帮助。
问候,
埃姆兰
您建议的方式当然是您可以这样做的方式,但您是否考虑过域名访问? 我过去曾经使用它,发现它非常有用。 还有相当多的模块集合可以使用它。 不同的主题,关于哪些节点应出现在哪些站点和共享用户上的选项都是它具有的所有功能。
希望这可以帮助!
首先 ,我强烈建议第二次使用域访问模块 (+1)。 它为您的场景提供了广泛的支持/功能,并且已经涵盖了您自己需要解决的大部分难题。
其次, 如果你坚持尝试自己做这件事,我可以向你保证这是可能的,因为我们最近做了一些非常相似的事情(一些特殊要求排除了域访问权限),但这是很多工作,特别是当功能时由贡献的模块提供的内容不适合我们的“不寻常”场景。
鉴于您必须涵盖的大量特殊情况,很难指出一个总体方向(除了建议使用域访问模块 ;)但一个主要观点是检查custom_url_rewrite_inbound()
/ custom_url_rewrite_outbound()
功能组合。 这些将允许您对传入请求以及为输出生成的URL执行相当低级别的URL操作,如果要从同一实例提供多个域,则需要执行这两种操作。
在您尝试自己构建之前,我是否提到您应该检查域访问模块 ?
听起来这些网站之间几乎没有内容共享。 您是否希望在所有网站上进行一次登录? 请记住,Domain Access使用1个共享数据库。 您也可以只进行常规的多站点安装,并共享某些表。
我给了Domain Access两个大拇指,但只是确保你真的需要它实际上做的事情。
另外,我会查看Feeds.module。 您可以从任何地方(尤其是另一个drupal站点)提取内容,然后直接导入内容并自动创建节点和字段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.