我正在寻找一些帮助将WordPress网站迁移到新域名。当我在网上寻找时,我只找到使用各种插件的教程。我想通过使用FTP和PHPmyAdmin来实现另一种方式。当我将表导入新域的数据库时,我做了一些测试并遇到了一些问题。我不确定我是以正确的方式做到这一点,我想要一些反馈或建议我会怎么做。这就是我想要做的事情。
我将所有WordPress文件下载到我的电脑。
我将所有数据库/表导出到.sql文件到我的电脑。
我使用PHPmyAdmin从我的计算机将数据库/表导入新的doamin。 (这对我来说也不起作用!我只是得到各种错误信息!)
我使用新用户密码更改PHP配置文件,然后将该文件与其余文件一起上传。
准备好了?或者我错过了什么?
我想这并不容易。我在某处读到,在从旧域下载WordPress文件到我的计算机之前,我应该将webbsite的名称改为新的,然后对旧版本不做任何操作!?这是对的吗?
预先准备一些可以移动此Wordpress网站的指南。我的老板正在等待,但我告诉他我需要一些时间进行测试,因为这是我的第一次。
答案 0 :(得分:1)
如果您只是在同一主机帐户上更改域名,则有一种非常简单的方法:
只需在phpmyadmin数据库的wp_options部分更改这两个值:“siteurl”和“home”。将其中的域更改为新域,您的新域将立即开始工作。
答案 1 :(得分:0)
你走在正确的轨道上。
看起来,从描述中,你会挂起phpMyAdmin导出/导入。如果您对此感到困惑,请在评论中发布更有意义的错误消息吗?
答案 2 :(得分:0)
我发现更改了siteurl,主页网址永远无法正常工作。帖子文本中经常存在不迁移的链接,尤其是图像资源链接。 最好的方法是在MySQL中。我使用的标准查询是:
START TRANSACTION;
SET @OLDSITE = 'http://oldsite.net';
SET @NEWSITE = 'http://newsite.com';
UPDATE wp_posts SET guid = replace(guid, @OLDSITE,@NEWSITE);
UPDATE wp_posts SET post_content = replace(post_content, @OLDSITE, @NEWSITE);
UPDATE wp_posts SET post_excerpt = replace(post_excerpt, @OLDSITE, @NEWSITE);
UPDATE wp_links SET link_url = replace(link_url, @OLDSITE, @NEWSITE);
UPDATE wp_links SET link_image = replace(link_image, @OLDSITE, @NEWSITE);
UPDATE wp_postmeta SET meta_value = replace(meta_value, @OLDSITE, @NEWSITE);
UPDATE wp_usermeta SET meta_value = replace(meta_value, @OLDSITE, @NEWSITE);
UPDATE wp_options SET option_value = replace(option_value, @OLDSITE, @NEWSITE);
COMMIT;
请确保在运行此操作之前先进行备份!
整个陈述都包含在一个交易中,这样你就不会找到一份工作。如果一个语句失败,那可能是一个真正的痛苦,一些域迁移而其他域没有迁移。如果您无权访问交易,则只需删除 START TRANSACTION 和 COMMIT 语句,然后先执行测试运行。
理论上,这可以打破postmeta中的序列化数据。在实践中,这很容易解决。它可能会破坏您的菜单和其他一些结构化数据,但这很容易解决。
NB:此sql事务也适合从 http 更改为 https 。你只需要添加:
define('FORCE_SSL_ADMIN', true);
到你的wp-config.php。