it-swarm.cn

更正WordPress数据库中更改URL的查询和替换查询?

使用临时地址( http:// IP-adddress )在生产箱上开发了一个站点。

现在是时候上线了。曾经,很久以前,我成功地使用了phpMyAdmin并进行了搜索/替换,但我想知道它是否仍然是“最好的”方式。

这些工作还行吗?该网站是在WordPress 3.0.1中。

update wp_options set option_value=replace(option_value,'OLD URL','NEW URL') where option_value like "%OLD URL%";    
update wp_posts SET guid=replace(guid, 'OLD URL','NEW URL');
update wp_posts SET post_excerpt=replace(post_excerpt, 'OLD URL','NEW URL');
update wp_posts SET post_content=replace(post_content, 'OLD URL','NEW URL');    
update wp_postmeta SET meta_value=replace(meta_value, 'OLD URL','NEW URL');

我在这里阅读了一些相关的帖子,但没有实际的查询。

我认为这 搜索和替换插件 听起来很有希望,但我发现的唯一文档是德语,这是我无法阅读的,所以我太谨慎了。

这个关于 从开发到生产 的线程中有很多信息,但是:

  1. 其中很大一部分都在我头上
  2. 没有列出任何疑问.

TYIA,

麦克风

4
MikeK

是的,这些查询仍然有效。

这是一个完整的操作方法: http://web-kreation.com/tutorials/migrating-a-wordpress-site-ftp-phpmyadmin-and-sql-queries/

1
sorich87

这个会给你带来一些问题:

update wp_options set option_value=replace(option_value,'OLD URL','NEW URL') where option_value like "%OLD URL%";

它将破坏存储在选项表中的任何活动窗口小部件数据,因为该信息很可能是序列化的,并且查询不会考虑序列化数据。那是wp-hackers主题的要点。但是,该线程上的任何人似乎都没有为处理序列化数据提出一个万无一失的查询。

您可能只想单独更改wp_options中'siteurl'和'home'的选项,然后从仪表板中修改您的小部件。

3
goldenapples

其他人已经提供了有关您要求的SQL查询的建议,我希望学习它们可以帮助您完成这个过程;我知道我总是帮助我学习一个我需要操作的地方。

但是你也要求最佳方式去做,我想建议你再看一下你引用的帖子( 开发到生产 )但这次 查看帖子中的插件 I引用,一个插件,用于在从一个服务器转到另一个服务器之后修复数据。而不是定期用SQL弄脏你必须重新学习为什么不将它委托给处理它的插件?

该插件是完全可以挂钩所以当你需要使用SQL来处理你的其他插件之一引入的其他数据时,你可以扩展它,因此它可以处理任何从主机移动到主机时需要修复。可能最好的部分是它/wp-config.php中给你一个位置来列出每个主机的所有细节;即,域,根路径,数据库,dbusers,密码,甚至是Google Maps API密钥等。

该插件仍处于alpha状态,这就是为什么它在StackExchange上并且尚未在WordPress插件存储库中列出的原因:

0
MikeSchinkel