简介:如何转移您的网站
在一个理想的世界里,我们永远不必担心切换网络主机——我们的网站将愉快地安置在当前托管服务提供商的设施中,具有极长的加载时间、可承受的成本和 100% 的正常运行时间。
不幸的是,这个世界并不理想,而且这种完美的场景很少存在,如果有的话。
如果您当前的虚拟主机没有满足您的需求,那么可能是时候换一个更好的了(我们将在本文的后面部分讨论知道何时该改变)。 将您的网站转移到新的虚拟主机并不像搬到新房子那样累。 如果您采取正确的步骤,这实际上是相当容易的。
迁移网站的两种方法
将网站移动到其他虚拟主机时,您需要:
- 购买并激活新的托管帐户,
- 移动所有网站文件——包括数据库和电子邮件帐户,
- 在新主机上安装和配置您的应用程序(PHP 版本、WordPress 等),
- 检查暂存/临时 URL 上的新站点,
- 如果有任何错误,请排除故障,
- 将您的域 DNS 记录指向新的网络主机
您可以将这些任务外包给您的新托管公司(许多公司会免费),也可以手动或使用插件转移您的网站。
我们将在本文中深入探讨这两个选项。
选项 #1:外包您的网站迁移(免费)
选择提供免费迁移支持的虚拟主机是初学者和忙碌的企业主的最佳选择。
网络托管是一个竞争激烈的行业——托管公司正在竭尽全力赢得新客户。 许多托管公司,包括我推荐的一些很棒的公司,都提供 免费网站迁移服务 给新客户。 您需要做的就是在与新的提供商签约后请求迁移,他们的支持团队将负责繁重的工作。
在大多数情况下,这是首选方式,因此您可以节省时间并专注于网站的其他关键工作。
如果您要使用此选项,则需要执行以下操作:
1. 注册提供免费网站迁移的虚拟主机

以下是提供免费网站迁移的推荐托管公司:
- 托管者 – 以其具有竞争力的价格和一站式托管解决方案而闻名,单一网站共享计划的起价为 0.99 美元/月。
- InMotion 托管 – 拥有超过 15 年跟踪记录的出色网络主机。
- 绿色极客 – 环保的虚拟主机,近期主机性能大幅提升。
- 服务器间 – 快速可靠的新泽西网络主机 – 共享计划起价为 2.50 美元/月。
- TMD 托管 – 卓越的性能和优惠的价格 – 共享主机每月 2.95 美元起。
- 云道 – 为第一个站点提供 100% 的不干涉迁移协助 – 基于云的托管起价为 10 美元/月。
* 披露:如果您通过这些链接订购,我将免费为您赚取佣金。
2.请求网站迁移并提供网站详细信息
向您的新虚拟主机提交迁移请求。 通常您需要做的就是在旧主机上提供登录数据——主机名、控制面板登录和 FTP 登录等; 您的新虚拟主机将负责其余的工作。
示例:InMotion 托管
示例:GreenGeeks

示例:云道

3. 休息和放松
是的,这就是你需要做的。
没有数据库错误故障排除。 没有电子邮件帐户迁移。 像馅饼一样容易。
选项 #2:手动转移您的网站
1. 购买新的虚拟主机
在启动主机迁移之前,您需要一个新的网络主机。
有多种托管解决方案,每种都有自己的配置和报价。 您将需要根据许多因素(例如成本、所需空间和服务器配置等)来评估和比较哪个适合您。
理想情况下,您应该通知您的访问者和/或客户您正在迁移到新的网络主机,以及有关您进行切换的时间的信息。 定期在社交媒体网络上进行状态更新以让您的客户了解情况是一种很好的公关做法。 另外,考虑让您的用户在迁移期间不要访问您的网站,以最大程度地减少系统负载并防止额外的客户服务问题。
2.移动网站文件和电子邮件帐户
对于那些正在运行静态网站(没有数据库的网站)的人,您需要做的就是从您现有的托管服务器下载所有内容(.html、.jpg、.mov 文件),然后根据旧的将它们上传到您的新主机文件夹结构。 移动可以使用 FTP / sFTP 代理快速完成。 如果您正在寻找 FileZilla,我建议您使用它。
移动一个动态站点(带有数据库)需要一些额外的工作。
移动数据库
对于在数据库(即 MySQL)上运行的动态站点,您需要从旧网络主机导出数据库并将其导入新网络主机。 如果您在 cPanel 上,则可以使用 phpMyAdmin 轻松完成此步骤。

如果您使用的是内容管理系统(即 WordPress、Joomla),您需要在导入数据库之前将应用程序安装到新的 Web 主机上。 一些 CMS 提供了简单的传输功能(即 WordPress 的导入/导出功能)——您可以使用该功能直接使用 CMS 平台传输数据文件。
移动 WordPress 网站
将 WordPress 从 cPanel 迁移到 cPanel
对于 cPanel(最常见的设置)主机上的 WordPress 站点,移动站点的最快方法是将所有内容压缩到“public_html”或“www”文件夹中,将文件夹上传到新的网络主机,然后添加以下两行进入你的 WP 配置:
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']); define('WP_HOME', WP_SITEURL);
使用常用插件移动 WordPress

或者,对于那些将 WordPress 网站移动到新的网络主机的人来说,有很多很好的迁移插件。 我喜欢 Duplicator – WordPress Migration Plugin 和 All-in-One WP Migration 的简单性。 这些插件将帮助您将 WordPress 站点移动、迁移甚至克隆到新的 Web 主机,而无需任何技术知识。
使用特殊构建的插件移动 WordPress


一些网络托管公司提供自己的 WordPress 迁移插件。 例如 WP Engine 自动迁移和 SiteGround Migrator——这些是为将 WordPress 网站转移到指定的网络主机而开发的特殊插件。 切换到这些特定公司时,您应该使用内部插件。
移动电子邮件帐户
切换您的网络主机最困难的部分之一可能是传输您的电子邮件。 基本上你会遇到以下三种情况之一:
场景 #1:电子邮件当前托管在域注册商(例如 GoDaddy)上
此电子邮件设置是最容易移动的。 登录到您的域名注册商(您托管电子邮件的地方),将您的电子邮件托管 A(或 @)记录更改为新的网络主机的 IP 地址。
场景 #2:电子邮件帐户由第三方托管(例如 Microsoft 365)
确保您的 MX 记录以及您的电子邮件提供商需要的任何其他记录在您的 DNS 中更新。
场景 #3:电子邮件帐户由旧的虚拟主机托管
如果您将完整帐户从 cPanel 转移到 cPanel,则无需手动转移您的电子邮件帐户。 或者,您可以从 cPanel 文件管理器下载所有电子邮件帐户(以及其中的所有文件)并将其上传到您的新网络主机。 这个过程很简单——如果您需要帮助,这里有一个分步指南)。
在最坏的情况下(从用户不太友好的主机控制面板传输),您将需要在新的虚拟主机中手动重新创建所有现有的电子邮件帐户。 这个过程可能有点乏味——尤其是当您使用大量电子邮件地址时。
3. 最终检查和故障排除
将文件加载到新的托管配置后,请仔细检查您网站上的一切是否正常
一些托管公司提供了一个开发暂存平台(即 SiteGround),这样您就可以在新环境中上线之前轻松流畅地预览您的网站,从而解决幕后的任何问题。
修复网站导航错误和丢失的链接
当您从之前的托管环境中转移您的站点资产时,可能会丢失诸如图形之类的资产或留下某些文件。 如果发生这种情况,您的访问者可能会遇到 404 错误。 在切换期间和切换后密切关注 404 日志 – 此日志将提醒您任何需要修复的非工作链接或资产,以恢复您的站点以完全正常运行。
在大多数情况下,您可以使用 .htaccess redirectMatch 并重定向将旧文件位置指向新文件位置。 以下是您可以使用的一些示例代码。
定义你的 404 页面
为了最大限度地减少损坏的链接造成的损害——moved.html 是您希望在出现 404 错误时向访问者显示的页面。
ErrorDocument 404 /moved.html
将页面转移到新位置
Redirect 301 /previous-page.html http://www.example.com/new-page.html
将整个目录转移到新位置
redirectMatch 301 ^/category/?$ http://www.example.net/new-category/
将动态页面重定向到新位置
而且,以防万一您在新主机上更改站点结构 –
RewriteEngine on RewriteCond %{QUERY_STRING} ^id=13$ RewriteRule ^/page.php$ http://www.mywebsite.com/newname.htm? [L,R=301]
对数据库错误进行故障排除
在切换过程中存在数据库损坏的风险。 我将使用 WordPress 作为示例,因为这是我最熟悉的。
如果您仍然可以访问您的 WP 仪表板,请先尝试禁用所有插件,然后查看您的数据库是否正确启动。 然后,一次重新启用它们,每次检查主页以确保它正确显示。
如果您无法访问仪表板,事情会变得有点棘手。 尝试这些不同的简单步骤,看看是否有效:
- 重新上传您的数据库,覆盖新数据库。
- 检查损坏错误的来源并尝试将该文件从旧站点重新上传到新站点。
- 打开文件并检查以确保它指向您的新服务器。
解决方案 #1:WordPress 自动数据库修复
如果这些步骤不起作用,您可能需要进行一些编码,但我将通过它与您交谈。
首先,在 FTP 中打开新站点并转到您的 wp-config.php 文件。 该文件应位于您的博客所在的主文件夹中。 在进行任何编辑之前备份此文件。
寻找这个措辞:
/** Absolute path to the WordPress directory. */
在该行上方,添加以下措辞:
define('WP_ALLOW_REPAIR',true);
保存您的更改并暂时打开您的 FTP 程序。 打开您最喜欢的网络浏览器。 前往以下地址获取代表
http://yourwebsitename.com/wp-admin/maint/repair.php


解决方案#2:phpMyAdmin
如果上述方法不起作用,您的下一步是转到您的数据库。
如果您不确定数据库究竟是如何工作的,这可能会令人生畏,但是…