我正在Mac上开发,并且有一个域,类似于:
http://localhost/~user/foobar
我的(临时)活动环境位于我的域中,该域最终为:
http://example.com/foobar,或http://localhost/foobar
这只是暂时的,因为我的客户最终将购买一个域,最终将是http://foobardomain.com,我将不得不迁移到那里的所有东西。
我正在使用数据库同步来同步我的数据库,到目前为止,这些数据库运行得很好(我想到现在为止)。
我做了很多工作,开始通过wordpress上传图片,结果发现完整的路径被保存在wp_posts表中的数据库中。这显然是一个问题,因为域是完全不同的,图像不会加载到活动或开发站点上。我可以运行以下查询:
UPDATE wp_posts set post_content=REPLACE(post_content, 'http://localhost/~user/foobar', 'http://example.com/foobar')我的问题是:
wp_posts.wp_content列是我唯一需要担心的列吗?发布于 2015-03-15 21:00:06
您还需要更改主题选项中的URL,其中包括设置头图像URL的选项、小部件数据中的URL以及插件选项中的URL。这些URL中有些是相对的,但很多是绝对的。
最好的方法是使用一个工具,通过数据库查找/替换URL,并正确地反序列化/重新序列化php数据,例如WordPress序列化搜索替换工具。。
有些主题没有正确地序列化数据,因此在使用上面的工具时,主题有时会丢失所有选项和小部件数据。但这是主题的错误。我在WordPress目录中遇到的所有主题,以及来自著名公司(如StudioPress )的主题,都正确地处理序列化的php数据,并且主题数据没有任何问题。
有些插件--比如备份和安全插件--在被激活时读取整个服务器路径--比如/server1/home/username/public_html/wp-content/plugins/aplugin/ --这些插件需要在新主机上手动重置。但是通常情况下,这些插件在网站运行之前都是不活跃的。
有关完整的参考资料,请参见移动;代码;
如果您确实想使用您在问题中提到的MySQL查询,那么除了您已经使用的查询之外,还需要更改GUID和postmeta:
UPDATE wp_posts SET guid = replace(guid, 'http://www.olddomain.com/','http://www.newdomain.com/');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://www.olddomain.com/', 'http://www.newdomain.com/');https://wordpress.stackexchange.com/questions/181271
复制相似问题