我正在尝试将WordPress安装从一台服务器移动到另一台服务器,包括所有SQL数据和文件系统数据(照片,模板文件)。
我在更改数据库中的URL时遇到问题,因为我需要用旧URL替换新的URL。
我希望有一些关于如何替换URL的建议(也许在SQL中有一个rplace语句?)
提前致谢。
答案 0 :(得分:4)
编辑2015年5月16日
使用interconnectit.com WordPress Serialized PHP Search Replace Tool查找/替换数据库中的URL并正确反序列化/重新序列化该数据要好得多。在文本转储中执行查找/替换或使用下面的UPDATE
查询将破坏序列化数据。
几种简单的方法:How to Move WordPress Blog to New Domain or Location » My Digital Life:
UPDATE wp_options SET option_value = replace(option_value,
'http://www.old-domain.com', 'http://www.new-domain.com')
WHERE option_name = 'home' OR option_name = 'siteurl';
Search RegEx « WordPress Plugins用于将帖子和页面作为基于WP插件的方式来替换帖子和页面中的图像和其他网址。
答案 1 :(得分:2)
需要注意的一点是,WordPress使用序列化数组存储其中的一些数据(特别是一些插件,例如cforms,这样做)。
在可以序列化站点URL数据的情况下,只需更新站点URL文本就可以更改序列化字符串中的数据长度,破坏数据并破坏数据。
在WordPress数据库中进行搜索替换时,Interconnectit有php script that takes serialisation into account。 Github repo of the script here
我在许多WordPress迁移中使用过这个脚本,它对我来说是一个救星。
答案 2 :(得分:1)
您可以简单地将mySQL转储到平面文件中,然后在您喜欢的编辑器中打开它。如果您确实更改了域名,那么请查找并替换完全限定的域名。这应该照顾WordPress特定的URL设置,因此页面,帖子,侧边栏等中的所有链接都可以使用。还要确保更改DB中记录的本地路径,以反映新的路径。
完成后,将mySQL文件导入新数据库并进行操作。如果在运输过程中出错的东西比你肯定知道的那样。 :)
答案 3 :(得分:0)
确实有a REPLACE() function in MySQL,但我建议在重新导入之前执行hsatterwhite建议并将整个MySQL转储编辑为平面文件,这不仅仅是因为REPLACE()函数区分大小写。
答案 4 :(得分:0)
我认为那个人正在谈论他的页面/帖子内容中的硬链接。你需要申请@markratledge MySQL替换功能链接...
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://www.old-domain.com', 'http://www.new-domain.com');
这将替换您发布/页面内容中的所有链接...
答案 5 :(得分:0)
1)在当前服务器中,转到phpMyAdmin并导出数据库
2)在您的支持代码编辑器中打开导出的文件,在整个文档中查找并替换您的前基本网址(http://www.exdomain.com)和新的文件(http://www.newdomain.com)
3)转到新服务器,使用phpMyAdmin导入SQL文件
4)更改wp-config.php中的DB user / pass / host
5)通过ftp将所有文件从旧服务器传输到新服务器
你应该完成。
如果您还更改了目录路径:删除.htaccess并让Wordpress生成一个新的更新后端的固定链接选项。
这对我来说一直很有用,我是在将localhost安装移动到最终生产服务器时使用的。
希望它有所帮助。
答案 6 :(得分:0)
这是一个非常直接的转发程序,没有多余的装饰,但对新手来说非常详细