如何在迁移后更新WordPress中的媒体链接? 时间:2017-06-12 作者:s.poole 我将我的WordPress站点迁移到一个新主机和新URL。我已经在mysql中完成了所有典型的搜索和替换,该站点运行得非常好。然而,我的图片链接都丢失了.co.uk, 因此不起作用。奇怪的是,博客源代码中的所有图像URL都是正确的。但在我的媒体库中,它们都不见了。co.uk公司。如何添加。co.uk返回到我的媒体库URL? 6 个回复 SO网友:DaveLak 正如您问题下的注释所述,WordPress数据库中的某些数据是序列化的,因此不可能通过简单的查找和替换来更改。你应该通读Moving WordPress 法典第节。特别是Changing Your Domain Name and URLs 部分我通常使用插件或命令行工具,这取决于我可以使用什么。插件:Better Search Replace 是上面条目中推荐的有用插件。还有其他插件可以做同样的事情,但这是我的首选。我喜欢的一些功能包括:支持序列化数据选择单个或多个表的功能A“;“干运行”;在实际执行更改之前测试和验证更改的功能很少需要服务器(您只需要一个WP实例)WP-CLI\'s search-replace tool. 此选项通过SSH之类的方式从命令行使用,并且需要在服务器上安装wp-cli。你可以take a look at the docs 对于所有可用的选项和示例,但基本用法是:# Search for old domain name and replace it with a new one $ wp search-replace \'http://old.example.dev\' \'http://new.example.com\' SO网友:Kevin Leary 这是一个非常常见的问题,所以我认为它应该得到一个全面的答案,涵盖大多数人可能在谷歌上搜索时发现的情况。对于Montrealist的特定问题,对于特定问题,@Montrealist似乎在某个时候不正确地运行了数据库查找/替换过程。我看到媒体的URL是:http://www.cosworth-europe/sam/wp-content/...我猜这应该是:http://www.cosworth-europe.co.uk/sam/wp-content/...在某种程度上,您丢失了主机TLD,因此这是第一件值得在这里查看的事情。您可以重新运行查找并替换为以下内容:Find: //www.cosworth-europe/ Replace: //www.cosworth-europe.co.uk/ 假设我在这里的假设是正确的,这应该可以纠正我在这里看到的具体问题。对于那些在谷歌上搜索类似问题的人,WordPress在其数据库中存储了许多对URL的引用。站点主机没有单一源配置,因此需要运行数据库查找并替换进程来修复此问题。根据这些图像的使用位置,您可能需要确保序列化字符串也被正确替换。对于大多数情况,我建议这是最好的解决方案:安装Better Search Replace 插件查找并替换不包含协议的域,因此查找//www.olddomain.com 具有//www.newdomain.com测试并确认没有问题,然后卸载并删除插件,我通常不推荐插件作为解决方案,我自己对大多数内容进行最低限度的编码,但对于这种特定情况,我个人会使用WP Migrate DB Pro插件进行此传输和其他与数据库相关的传输。Better Search and Replace插件是由同一家公司Delicious Brains开发的,它提供了完全相同的查找和替换过程。这是彻底解决这个问题的一个很好的选择。如果您确实遇到问题,并且无法登录WordPress,您可以将FTP发送到安装目录,并在wp-config.php 文件:define( \'WP_HOME\', \'https://www.example.com\' ); define( \'WP_SITEURL\', \'https://www.example.com\' ); 但是,这只能暂时完成,一旦您纠正了数据库中的问题,最好将其从wp-config.php 之后归档。Changing The Site URL SO网友:s.poole wp\\u options表中我的“home”option\\u名称缺少。co.uk公司。愚蠢的错误!下次,我将尝试您帮助的迁移插件。 SO网友:Elizabeth 来看看这个-尝试这个插件以及Velvet Blues更新URL-两者都不起作用。然后我意识到,为什么我不只是通过MySQL更新呢?首先,更新wp\\u posts表。然后,您的SQL如下所示: UPDATE `wp_posts` SET post_content = REPLACE(post_content, \'oldurl\', \'newurl\') WHERE post_content like "%oldurl%" SO网友:made2popular 您应该使用WP多功能一体迁移插件来迁移网站。https://wordpress.org/plugins/all-in-one-wp-migration/ SO网友:sudhan 更改WordPress仪表板中上载文件的位置Dashboard > Settings > Media > Uploading Files. 结束 文章导航