我可以在不同主题的子域上使用WP多站点,但使用原始站点的所有帖子/页面吗?

时间:2016-07-06 作者:AdamJones

我已经读了很多关于多站点的文章,但仍然不能百分之百确定这一点。我的用例场景是,我有一个原始的WP站点,它严重依赖于自定义帖子类型中的大量数据。

该站点现在需要复制到一个子域中,以供客户端使用该站点的“白标签”更名版本。他们需要主站点的所有相同功能,以及访问/搜索主站点数据。只是子域站点的外观非常不同,客户希望子域让它脱颖而出。

如果我想在任何地方访问帖子,这是可能的还是必须将帖子从主站点复制到新的子域站点?

1 个回复
SO网友:C C

下面是我配置的一个解决方案的示例,它将站点留在网络中,但建立了从任何注册域到网络的域映射。它使网络站点看起来是一个完全独立的站点,所有功能(登录等)都完好无损。

Goal:

映射客户端的注册域,包括www.foosite.comfoosite.com 转到我们的多站点网络mymultisite.com - 并尽可能简化客户的操作(也就是说,不要在注册处乱动CNAME或A记录)。

Procedure:

使用Amazon Route 53作为DNS系统。

亚马逊AWS Route 53处理DNS,因此我们首先为客户端的注册域创建托管区域(foosite.com) www CNAME记录指向www.mymultisite.com

在Amazon AWS中为(非www)客户端的foosite.comstatically 将其映射到www.foosite.com

返回Route 53 hosted zone,为(非www)创建A记录foosite.com 并将其指定为别名,将其指向步骤2中创建的bucket。这确保了www.foosite.comfoosite.com 最终将指向www.mymultisite.com

在多站点网络中,转到网络管理中的客户端站点,编辑站点URL,将其更改为www.foosite.com

在托管的托管帐户中mymultisite.com 指定一个名为foosite.com 并将其指向public\\u html(或安装了WP的任何地方)。这有效地在Apache配置中为传入的映射站点创建了一个虚拟主机记录。

(note: 如果多站点托管在静态IP地址,并且是该地址上的唯一站点,并且托管公司允许将传入域动态映射到站点的文档根目录。。。这样,您就不必使用加载项或驻留的域。如果不确定,请咨询您的托管公司)。

在您的wp-config.php 对于多站点,需要添加一行:define(\'COOKIE_DOMAIN\', $_SERVER[\'HTTP_HOST\'] );

Result:

您已经为映射的域建立了完整的DNS解决方案。您所要做的就是告诉客户机更新其域的注册器,并将记录在您的托管区域(路由53)中的亚马逊名称服务器指定为其DNS。您的客户根本不需要处理CNAME或A记录-您正在处理完全的映射,路径53。此外,由于magic 在AWS别名记录中,您的多站点甚至不需要位于静态IP地址上(尽管为了安全起见,我将其保留在一个IP地址上)。

如果使用另一个系统作为名称服务器(例如Enom或GoDaddy),则需要为其域设置一个指向的静态IP地址的A记录mymultisite.com. 这是一个不错的答案,但如果您的静态IP地址发生变化,您就必须告诉您的客户去他们的注册中心更新A记录,这会带来风险。

我更喜欢53号公路的解决方案。我还按照this article. 现在它非常简单-只需告诉客户端这里是您的新名称服务器,以便在您的注册器上设置,WP端的一切工作都是完美的。无需在中维护静态IP地址A 记录