如何编辑 Windows 主机文件以在本地测试网站?

让我们看看如何在 Windows 10/11 上编辑 hosts 文件以在不更改 DNS 的情况下在本地测试网站。

主机文件充当本地 DNS 服务器。 但在继续之前,让我们先看看这起涉及杰克的事件。

Jack 是加拿大多伦多一家区域电子商务商店的网站管理员。 他被要求确保顺利转移到不同的网络主机。

他做得很完美,并且在 DNS 更改后不久该网站就上线了。 唯一的问题是缺少大量产品的图像。

尽管他们尽快缓解了这个问题,但还是有几千美元的收入损失。 杰克被要求辞职。

他的错误,你问? – 在修改 DNS 记录之前跳过一个简单但关键的步骤来测试新网站。

主机文件

Jack 可以通过使用记事本在他的 Windows PC 上的主机文件中输入一行来避免危机,类似于以下内容:

241.32.87.165 域名.com

这将帮助他在不接触实时在线商店的情况下检查迁移的网站。

主机文件保存每台计算机在联系 DNS 服务器之前检查的本地 DNS 记录。 目的是在不增加延迟的情况下实现更快的连接。

主机文件如何工作?

让我们再举一个例子。

假设你要去一家新开的超市,但对它的名称和确切地址感到困惑。 暂时搁置 Google 搜索,您可以咨询您的兄弟(主机文件)或邻居(DNS 服务器)。

第二种方法会涉及额外的时间(延迟),并且询问兄弟更快。

同样,当我们输入域名(例如 techblik.com.com)时,我们的计算机是一台机器,需要关联的 IP 地址才能在浏览器中加载网站。

首先,它搜索本地主机的文件。 如果它缺少所需的信息,则将查询传递到外部。

之后,这些 DNS 服务器将域名与 IP 地址匹配并发回响应。 最后,我们看到网站已加载。

通过编辑 hosts 文件,我们诱使我们的本地机器相信迁移的网站是真实的。 它还避免了为特定查询连接我们的 PC 和 DNS 服务器。

因此,当我们访问该网站时,它会从主机文件中列出的 IP 地址加载,而不是根据域名注册商的 DNS 记录加载。

这有助于在上线之前测试一切是否正常工作。

在 Windows 上编辑主机文件

主机文件位于 C:WindowsSystem32driversetc 内

  忘记了您的 Windows 11 密码? 这是重置Windows 11密码的方法

尽管它缺少文本文件扩展名,但您可以在任何文本编辑器中对其进行编辑。 不过,这个过程有点长。

您将在记事本中打开此文件以进行必要的更改,将其保存在其他位置,删除原始文件,最后将修改后的文件移动到那里。

但我们会走捷径。

首先以管理员身份打开记事本。

然后单击所有文件,然后在下拉菜单中打开,并浏览主机文件目录:

现在按照第一步,把它改成All Files (*.*),因为文件夹里没有文本文件,所以一开始会觉得是空的。

接下来,选择主机并单击打开。

编辑主机文件部分包括输入您将文件移动到的网站名称和服务器 IP 地址:

记住不要放#,因为这会使该语句成为无效的注释。

最后,按 Ctrl+S 保存更改并退出。

确认

现在您可以登录该网站并查看任何问题。

可是等等! 你怎么知道它是从新服务器加载而不是从实时服务器加载的?

要验证并检查新网址,您必须先关闭浏览器。

然后打开命令提示符并输入。 ipconfig/displaydns。

域名将根据记录名称和带有 A(主机)记录的 IP 地址列出。

displaydns 列表可能很长,可以flush DNS 删除已有记录。 这是一个单步、完全无害的过程,您可以在其中打开命令提示符并键入 ipconfig/flushdns。

最后,重新打开浏览器,输入网址访问测试站点。

虽然这个过程很简单,但如果您不介意使用免费软件,还有一个更简单的选择。

主机文件编辑器

主机文件编辑器作为安装和便携式应用程序提供。 这非常直观,如果您经常这样做会很方便。

您可以开始在灰色字段中输入详细信息,然后单击顶部的保存。 是的,别忘了检查条目; 否则,它们将在主机文件中显示为注释。

最后,如果您选择返回传统方式,则可以删除此应用程序创建的文件。

将有三个名为 hosts.bak、hosts.disabled 和一个存档文件夹。 或者在使用此类应用程序之前保存该文件夹作为备份。

结论

Windows 中的主机文件编辑简化了更改 DNS 记录之前的网站测试。 您可以使用记事本等文本编辑器并进行必要的更改以适用于本地计算机。

虽然还有另一种使用临时 URL 的方法,但该方法有一些缺点,尤其是在您使用内容交付网络 (CDN) 时。

虽然屏幕截图指的是 Windows 10,但它也可以在 Windows 11 中完美运行。

PS:查看 DNS 过滤的优点以及它如何使您的企业免受网络攻击。