Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在网站迁移后,有没有简单的方法来更新wordpress帖子或页面中的媒体或页面链接_Php_Database_Wordpress_Database Migration_Broken Links - Fatal编程技术网

Php 在网站迁移后,有没有简单的方法来更新wordpress帖子或页面中的媒体或页面链接

Php 在网站迁移后,有没有简单的方法来更新wordpress帖子或页面中的媒体或页面链接,php,database,wordpress,database-migration,broken-links,Php,Database,Wordpress,Database Migration,Broken Links,我有一个wordpress网站,我刚刚在本地主机中完成了自定义。我在这里设置permlinkshttp://localhost/nwp作为我的网站url和主页url。在我的网站上,我使用页面和帖子中的链接来引用图像、视频和其他页面和帖子。当我将此网站迁移到live server时,我将我的网站url和主页url更改为http://mydomain.com。但是我在页面和帖子中粘贴的url仍然像http://localhost/nwp/uploads/2014/img.jpg,http://loc

我有一个wordpress网站,我刚刚在本地主机中完成了自定义。我在这里设置permlinks
http://localhost/nwp
作为我的网站url和主页url。在我的网站上,我使用页面和帖子中的链接来引用图像、视频和其他页面和帖子。当我将此网站迁移到live server时,我将我的网站url和主页url更改为
http://mydomain.com
。但是我在页面和帖子中粘贴的url仍然像
http://localhost/nwp/uploads/2014/img.jpg
http://localhost/nwp/your-page
等。。我可以通过打开所有页面或帖子并用新链接替换页面或帖子中的旧链接来解决此问题。但这需要太多时间。我不知道任何其他方法可以轻松解决此问题。如果有人知道更好的方法可以轻松解决此问题,请帮助我

如果您导出了数据库,您可以使用一些编辑器(如记事本+)打开它,只需替换字符串即可


正如@RadGH所提到的,明智的做法是使用序列化搜索和替换脚本。这样更安全。您可以在这里找到:

谢谢大家的回答。但我只是找到了一个安全和简单的方法,没有任何额外的下载脚本的帮助。我们需要执行sql
UPDATE
query来更新数据库中的所有内容,如下所示

mysql> UPDATE wp_posts SET guid = replace(guid, 'http://localhost/nwp','http://mydomain.com');

mysql> UPDATE wp_posts SET post_content = replace(post_content, 'http://localhost/nwp', 'http://mydomain.com');

mysql> UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://localhost/nwp','http://mydomain.com');

请注意,如果替换序列化字符串中的内容,将(可能)破坏序列化,WordPress将丢弃整个值。我强烈建议改为使用序列化搜索和替换脚本(它做同样的事情,只是更安全):@RadGH谢谢你的信息。你能考虑把你的信息作为答案吗?我会投赞成票。如果你愿意的话,你可以把我的建议添加到你的原始答案中。它们非常相似,看起来Peter已经单独提到了。这是一种很棒的方法,但根本不是一种更安全的方法。否则我们也需要下载其他脚本。thanx作为您的答案