将数据库一个域移动到其他域

时间:2012-11-22 14:32:41

标签: php database wordpress

我试图将WordPress网站移到另一个域名。 例如:http://www.demo.comhttp://www.localhost/demo .... 我从c-panel获取了xml文件备份。所有表都在那里。并在编辑器中更改了URL。

当我将xml文件导入wordpress仪表板时,页面/帖子无法上传。只有默认页面和帖子 同样的问题。

任何人都可以指导我做错了什么,解决方案是什么?

先谢谢

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

每当我必须将网站移动到不同的域(或从localhost移动到网络上的某个地方)时,我就会这样做:

  1. 制作文件的副本 - 如果您能够在旧服务器和新服务器上压缩/解压缩文件,只需使用所有WordPress文件制作.zip存档(/wp-admin,{{1 },/wp-content和根目录中的所有文件,否则将它们复制到您的计算机
  2. 制作Database Copy
  3. 在新服务器上,上传文件(如果您使用.zip存档,上传并解压缩)
  4. 在新服务器上导入数据库备份。
  5. 上传数据库后,执行以下SQL代码(例如,您可以从phpMyAdmin执行此操作)
  6. /wp-includes

    UPDATE `{%TABLE_PREFIX%}options` SET `option_value` = replace(`option_value`, '{OLD_URL}', '{NEW_URL}'); UPDATE `{%TABLE_PREFIX%}postmeta` SET `meta_value` = replace(`meta_value`, '{OLD_URL}', '{NEW_URL}'); UPDATE `{%TABLE_PREFIX%}posts` SET `post_content` = replace(`post_content`, '{OLD_URL}', '{NEW_URL}'); UPDATE `{%TABLE_PREFIX%}posts` SET `guid` = replace(`guid`, '{OLD_URL}', '{NEW_URL}'); 占位符替换为相应的值,如下所示:

    {%...%}是您的表格前缀,如{%TABLE_PREFIX%}

    中所定义

    wp-config.php是网站所在的旧网址。我通常跳过{OLD_URL}部分和尾部斜杠(有些路径是保存的,有些没有它,因此以这种方式更安全),所以如果您的网站曾经在http://,那么你将用http://www.demo.com/

    替换{OLD_URL}

    www.demo.com是网站所在的新网址。我通常会跳过{NEW_URL}部分和尾部斜杠,因此,如果您的网站位于http://,则会将http://www.localhost/替换为{NEW_URL}。如果新位置是子目录(例如www.localhost),则会将http://www.localhost/example/替换为{NEW_URL}

    完成所有这些后,只需转到新安装,登录仪表板,转到www.localhost/example,除非您看到.htaccess权限错误,否则您已完成设置: )

    如果您无法通过phpMyAdmin访问数据库,或者无法备份文件,请考虑使用back-up plugin