使用子站点后更改多站点URL

时间:2018-04-02 作者:Gitnik

我有一个wordpress多站点安装,它使用子域作为子站点。但是,我收到请求,要求我必须更改其中一个子网站的域,例如site1。实例wordpress。组织其他人,例如crafting-jewelry-1。com。我发现了这个链接,它解释了在wp admin中安装后,可以更改子网站的顶级域:

How to use Wordpress Multisite With Different Domain Names?

但我的网站已经使用了一段时间,像主题和插件之类的东西已经从默认值更改了,而且它有活跃的用户。如果我按照上面答案中的说明更改子网站的URL,这会破坏网站吗?我是否需要在mysql或wp配置中的某个地方进行手动更改。php?

我的wp版本是4.9.4。请注意,我不想更改多站点原始域,只想更改其子站点之一的域。我曾尝试通过apache使用反向代理来“更改”域,但是,即使我在浏览器中获得了所需的url,页面也会动态生成到旧域的链接,当我遵循其中任何一个链接时,我自然会重定向到旧域。

1 个回复
最合适的回答,由SO网友:Andrew 整理而成

这个问题有点老了,但因为我是在寻找其他相关的东西时遇到它的,所以我认为它应该得到一个答案。你在另一个链接上提供的答案实际上也是正确答案。这将更加详细,但我将在这里进行总结。

您要做的是所谓的域映射。不久前,在WPMU/Multsite的早期版本中,这必须使用插件来完成。现在,它被烘焙到网络管理>站点>编辑[站点]>信息[选项卡]中每个子站点的名为“站点地址(URL)”的设置中

更改子网站的网站地址(URL)不会影响主网站URL或其他子网站URL。需要记住的是,WordPress控制向那些配置的URL提供内容,但确保DNS A记录正确指向要映射到子网站的任何域的服务器是至关重要的。所有这些域都将在DNS中具有相同的IP地址,然后,一旦特定域/URL的请求点击WordPress,它将根据数据库中为站点主页和站点URL设置配置的内容提供正确的内容。

除了更改DNS以将域指向正确的IP之外,您无需使用apache或反向代理进行任何花哨的操作。

更改子网站的网站地址(URL)设置不会破坏网站上的任何内容(假设您对所有内容都正确使用了相对URL)。请注意,一些主题和插件可能会在数据库中存储一些设置或图像的静态URL,这确实会中断。

然而,有一个非常简单的解决方法。使用诸如Better Search and Replace之类的插件,可以轻松找到Site1的所有条目。实例wordpress。organd更换tocrafting-jewelry-1。com公司

使用要更新的完整域时,将只针对应该替换的内容,这将在整个数据库中发生。对此有不同的看法,但当我进行这样的重命名时,我还打开了替换guid的选项。然而,您应该理解这样做的含义,或者干脆放弃这个选项。

当然,在执行任何操作之前都要做好备份,以防出现意外情况。

简而言之:

确保DNS将要使用的域指向安装了WP multisite的IP地址问题中引用的其他详细信息如下:

How to use Wordpress Multisite With Different Domain Names?

结束