Windows 8无法识别主机文件更改


9

当我在Windows 8中更改主机文件时,它不起作用。虽然我的更改保留在主机文件中。

我正在尝试的是使用以下行将域名riddergarn.dev重定向到127.0.0.1:

127.0.0.1 riddergarn.dev

我用avast!并且Windows Defender已禁用,因此不会引起问题。我已经尝试ipconfig /flushdns过CMD,但也无法解决。

我尝试在各种站点上寻找答案,但到目前为止还没有运气。也许有人可以帮助我。

编辑:禁用avast!没有解决问题。

我的hosts文件(example.com也不解析为127.0.0.1):

# localhost name resolution is handled within DNS itself.
127.0.0.1       localhost
#   ::1             localhost
127.0.0.1       riddergarn.dev
127.0.0.1       example.com

我的%SYSTEMROOT%是 C:\Windows

我不使用IIS,而是使用Apache。

当我尝试ping域时,我得到以下信息:

C:\Users\Andreas>ping riddergarn.dev
Ping request could not find host riddergarn.dev. Please check the name and try a
gain.

如果使用的是Notepad ++,则在保存更改时,请确保未将文件保存到SysWOW64。欲了解更多信息,请参阅superuser.com/questions/617449/...
AEonAX

Answers:


2

在我撰写本文时,它是2019年8月。我是这个问题的新手(“ hosts”文件命令无法工作或处于活动状态)。我在功能强大但较旧的戴尔台式机(XPS Gen5)上使用Windows 8.1。我的浏览器是Firefox(48;我知道已经过时),并且还提供Windows资源管理器(11)。我的电脑上的根目录是C:。

我想轻松有效地阻止来自令人反感的,未经请求的广告商的在线弹出图像(起源于本来无害的网页),但无法获取主机文件命令(旨在将“邪恶的”主机名与127.0.0.1本地主机IP相关联)地址)执行。

我尝试了许多补救措施(来自各种在线论坛站点),但当它终于开始起作用时,我就放弃了。很棒的感觉。问题是,主机文件命令不起作用的原因可能有多种,您可能必须全部识别并解决它们。这里是一些(不是全部)要检查和尝试的事情(请原谅那些对您的专业水平而言太基础的事情):

  • 确保您的主机文件位于C:\Windows\System32\drivers\etc(或等效的)子目录/文件夹中。

  • 确保您的注册表在这里有一个条目:

    \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath
    

    指向正确的主机位置;例如:(不%SystemRoot%\System32\drivers\etc带引号)

    "C:\Windows\System32\drivers\etc\hosts" also works when the location of Windows is "C:\Windows."
    
  • 确保仅使用可靠的文本文件编辑器(例如Windows记事本)编辑和保存主机文件,该文件编辑器在保存修改后不会引入任何隐藏字符或添加文件名后缀(例如“ .txt”) “主机”文件。

  • 为方便起见,在工作时,将hosts.sav原始主机文件重命名(例如)或移动并保存在安全的地方,然后创建(例如使用Windows Notepad)并使用全新的ANSI类型的临时测试主机文件,只需一个命令-类似于:“ 127.0.0.1google.com”(不带引号),后跟一个完全空白/空的行(无行返回)。(您可以使用任何网站。我选择强大的Google。)(如有必要,请插入第一行127.0.0.1<tab>localhost(总共三行。)使用此测试主机文件可以轻松,快速且确定地知道主机文件及其命令是否“处于打开状态”且处于活动状态。如果您的浏览器未阻止Google,则表明主机不起作用或由于某些原因被绕过。但是,如果Google.com(或您选择的测试站点)被阻止,则主机正在运行,并且您将获得成功的命令措辞模式,可以对其他实际命令重复该命令措词模式。然后,您可以在Google行的前面放置“#”以将其禁用,或者只是删除该行,但是在编辑主机文件时,该命令非常方便,可以连续检查主机文件的状态(是否有效?) (并可能引入错误,导致主机无法正常工作)。

  • 使用DOS命令

    ipconfig /flushdns
    

    Windows“命令提示符”功能中的W(不带引号)之间,根据需要在更改主机文件之间。比重启容易得多。我发现没有必要重新启动。

  • 如果您在文本编辑器中打开了hosts文件,请进行更改并保存主机(不关闭编辑器),Firefox会对更改做出反应(即,在单击刷新或重新加载页面按钮后),而不必停止并重新启动Firefox。相反,Microsoft Internet Explorer(IE)要求先停止然后重新启动IE,以使更改(例如,访问特定的被阻止网站)生效。

在主机文件本身内:

  • 我(a)在最左边启动命令行语言(数字IP地址),不带任何前导空格,并始终使用单个选项卡将数字地址与字母主机名分开。有人告诉我,单个空格也应该起作用,或者地址和主机之间可以有多个空格。)无论如何,保持一致可能很重要。

  • 确保每一行都以“#”开头(对于文档),或者是命令行,直到到达最后一行。然后以完全空白的行结束。

  • 要重申,请以某种字符开始每一行,没有空格,直到到达文件末尾。然后,...

  • 最后一行应为空白(无字符,隐藏字符或其他字符)。

  • 例如,要阻止Google,您可以使用以下任一命令:

    127.0.0.1<tab>www.google.com
    

    要么

    0.0.0.0<tab>www.google.com
    

    127.0.0.1您一起收到错误消息(在Firefox中)

    无法连接。

    随着0.0.0.0您收到(Firefox)错误消息

    找不到服务器。

  • 我需要做的最后一件事(这是防止我挑剔的主机的命令正常工作)是从字母主机名称中删除“ http://”或“ https://”。我正在复制整个网址,并将其放入主机文件命令行中。愚蠢的菜鸟被我误会了。您似乎没有这个问题,但是其他人可能有。“ www。” 对于主机命令来说,从网址(如果存在)中访问似乎不是问题,实际上可能是必需的。实验。


-1

您正在使用Internet Explorer吗?以我的经验,您需要重新启动IE才能识别主机更改(其他浏览器将立即获取更改)。


无论如何,我都使用IE和Chrome尝试过。
alysdal

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.