如何将 WordPress 网页移至其他托管服务器?

Posted

技术标签:

【中文标题】如何将 WordPress 网页移至其他托管服务器?【英文标题】:How to move the WordPress webpage to other hosting servers? 【发布时间】:2015-03-05 05:02:30 【问题描述】:

目前我正在尝试将我的 wordpress 网站迁移到新的付费托管服务 godaddy。它是一个 wordpress 托管主机。关于将 wordpress 从一台主机移动到另一台主机,我在互联网上进行了很多研究。建议的复印机插件对我不起作用。最后,我尝试了以下方法:-

假设我的旧网站名称是

www.old-site.org

我的新(临时)地址是

www.new-site.org

我从www.old-site.org下载了整个网站

从 wordpress 下载数据库备份。然后编辑旧的 wp-config.php,用新站点的数据库详细信息替换数据库名称、用户名和密码。最后使用 filezilla 将旧站点文件移动到www.new-site.org/new 位置。完成后,在 Firefox 中输入www.new-site.org/new/wp-login.php。出现一个登录窗口并要求输入密码。看起来一切都完成了。但是,登录后站点地址转到www.old-site.org/wp-admin/。我犯了什么错误,我该如何克服这个问题?我必须替换任何文件中的 URL 吗?

编辑:-

好的。我现在做了以下。下载旧的 *.sql 数据库。使用http://pixelentity.com/wordpress-search-replace-domain/ 喜欢用新网址更改旧网址。然后我去godaddy phpAdmin --> import database 并导入修改后的Sql文件。但结果是一样的。登录后,网站将返回旧网址。

【问题讨论】:

【参考方案1】:
    将旧服务器的public_html文件夹中的所有文件放到新的public_html文件夹中。 从 php myadmin 获取旧服务器的数据库备份,然后导入其中并导入 sql 文件。 在记事本++等编辑器中打开sql数据库文件并找到siteurl,在那里你会找到旧的网站地址,比如http://www.oldsite.com你必须将所有这些旧的url替换为你的新url,所以使用ctrl+f和将 www.oldsite.com 替换为 www.newsite.com 并保存 sql 文件 在您的新服务器上创建新数据库并记下其用户名、密码和数据库名称 在您的新服务器上打开 phpmyadmin 并将 sql 文件导出到如此创建的新数据库中。 打开将在新服务器的 public_html(root) 文件夹中的 wp-config.php 并替换数据库名称、数据库用户名和用户名密码(您在步骤 4 中已记录)。 如果遵循正确,它应该可以工作。

或者,对于数据库 URL 替换,您可以使用处理序列化数组的 wp migrate db 插件..

对于完全自动迁移,您可以使用一体式 wp 迁移插件,这也很好

【讨论】:

【参考方案2】:

请确保在您的“wp_options”表中包含以下值:

'siteurl' and 'home' should be => www.new-site.org

【讨论】:

【参考方案3】:

您必须编辑 wpconfig.php 以包含新的“基本 url”,除此之外,编辑您的数据库以获得正确的 URL。

否则它将始终将您重定向到您的旧网站。

WP配置:

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

数据库:

查找表 wp_options。 在 option_name 下找到“siteurl”并更改 option_value 以包含新 URL。

可能还想看看@http://codex.wordpress.org/Changing_The_Site_URL

【讨论】:

WP_HOMEWP_SITEURL 默认情况下不会在 wpconfig 中硬编码 你改变 wpconfig 了吗?【参考方案4】:

请在您的数据库中运行这些 SQL 查询:

UPDATE wp_options 
SET option_value = replace(option_value, 'www.old-site.org', 'www.new-site.org') 
WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts   
SET guid = replace(guid, 'www.old-site.org', 'www.new-site.org');

UPDATE wp_posts 
SET post_content = replace(post_content, 'www.old-site.org', 'www.new-site.org');

UPDATE wp_postmeta 
SET meta_value = REPLACE (meta_value, 'www.old-site.org','www.new-site.org');

【讨论】:

【参考方案5】:

数据库将包含对旧 url 的引用,要解决此问题,您可以在重新导入之前编辑 .sql 备份:

删除新主机上的数据库。

在记事本或类似的文本编辑器中打开旧主机的 sql 备份文件

查找并替换www.old-site.orgwww.new-site.org/new,保存并导入新主机。

【讨论】:

为什么要在他启动并运行后删除所有内容? @Chilion 我不建议删除所有内容,只是删除数据库、编辑备份并重新导入 - 需要 5 分钟。与您提到的单个字段相比,对旧站点的引用将更多【参考方案6】:

您需要更改数据库中记录旧 URL 的所有位置。

为此,您可以使用此插件:https://wordpress.org/plugins/search-and-replace/

使用此“搜索和替换”查找“www.old-site.org”并替换为“www.new-site.org/new”。

在您的 wp-config 中找到所有旧 URL 并替换为新 URL 很重要。

希望对你有帮助!

【讨论】:

【参考方案7】:

正如前面的答案所指出的,您唯一要做的就是将对旧网址的引用更改为对新网址的引用。

为此,您必须更改 wp-config.php 文件中的配置设置,正如 Chilion 指出的那样:

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

完成此操作后,您还必须更改蛞蝓的引用。 slug 的 URL 更改起来比较复杂,因为它们不能简单地编辑:它们是序列化的,所以你需要一个专用的脚本。

这里有您需要的所有信息:http://codex.wordpress.org/Moving_WordPress

Duplicator 确实是一个很棒的自动化迁移插件:有什么不适合您?问题出在哪里?

【讨论】:

【参考方案8】:

对于那些错过原始帖子中链接的 Pixelentity 旧工具(不幸的是,该工具已被关闭)的人,我想让您知道该工具的精确克隆可用在wordpress-search-replace.io?

【讨论】:

以上是关于如何将 WordPress 网页移至其他托管服务器?的主要内容,如果未能解决你的问题,请参考以下文章

将 Drupal 7 站点移至其他服务器,无法登录

访问本地托管的 Wordpress 站点时出现问题(重定向+其他废话)

我可以在 github 页面上将我的 wordpress 博客作为静态网页托管吗

将 Wordpress 网站移至 /blog 域

将网站移至新主机导致“禁止”

我的 wordpress 在远程托管中显示 apache2 ubuntu 默认网页“它可以工作”