WordPress站点中对其他站点的引用

时间:2011-06-22 作者:Tony B

我对Wordpress比较陌生,在一台服务器上有一个由其他人开发的站点,必须将其部署到另一台服务器上。这个网站安装了bbpress,还有大量其他东西。然而,它似乎还包含(某处)对其他开发人员服务器的引用,因此,即使我已将该站点复制到我的服务器上,所有链接仍然指向他的。我假设在模板文件或数据库的某个地方有一个对他的网站的引用,但我不知道在哪里。我做了一次搜索/替换,并替换了我能找到的内容,但仍然发生了同样的事情。我只是想知道是否有什么真正明显的地方我需要寻找这样的东西。在我看来,他只是做了一件相当愚蠢的事,对自己网站的引用进行了硬编码;但我不知道,也许这是有原因的。

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

主题中可能有硬编码链接;下载它并使用文本编辑器进行多文件搜索。

编辑文本转储会破坏序列化数据;请参阅此处的其他问答:Why is my database import losing text widget data?

Update 4/19/2015 要正确更改数据库中的URL,下面的SQL查询在phpmyadmin或adminer中运行时可以正常工作,但最好使用正确反序列化/重新序列化php数据的工具,如https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

UPDATE wp_options SET option_value = replace(option_value, \'http://olddomain.com\', \'http://newdomain.com\') WHERE option_name = \'home\' OR option_name = \'siteurl\';

UPDATE wp_posts SET guid = replace(guid, \'http://olddomain.com\',\'http://newdomain.com\');

UPDATE wp_posts SET post_content = replace(post_content, \'http://olddomain.com\', \'http://newdomain.com\');

UPDATE wp_postmeta SET meta_value = replace(meta_value, \'http://olddomain.com\', \'http://newdomain.com\');

SO网友:Scott

数据库中很可能仍有大量引用。

我将如何更改引用将执行以下操作:

以SQL文件格式导出数据库http://dev.example.com 并替换为http://www.example.com

  • 保存SQL文件
  • 删除数据库
  • 导入保存的SQL文件
  • EDIT: 因为我在迁移时总是将URL从长URL更改为短URL,所以我从未遇到破坏序列化数据的问题。如果您正在从较短的URL更改为较长的URL,则上述操作将不起作用,但您可以查看以下脚本:http://davidcoveney.com/mysql-database-search-replace-with-serialized-php/

    3/15/2015 Edit: Link above is dead; use https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

    因此,要使用上述脚本:

    导出数据库并导入到新数据库

    SO网友:Azizur Rahman

    如果链接硬编码到主题文件中,恐怕您需要相应地替换它们。

    如果按照@Brady所说的进行操作,则需要重新配置选项,因为步骤3将损坏SQL导出文件中的序列化数据。

    我建议使用WordPress OneClick Migration 剧本当WordPress站点从服务器/站点移动到服务器/站点时,它将更新站点信息。它附带detailed instruction 介绍如何在自述文件中使用迁移脚本。md文件。

    更新(2011年6月23日):

    免责声明:WordPress OneClick Migration 该脚本是我自己编写的,是开源的,并根据GPL3获得许可。

    结束

    相关推荐