Why is my hosts file entry being ignored by the browser?

Kalana Shalitha picture Kalana Shalitha · May 26, 2016 · Viewed 21.3k times · Source

I mapped a website with the IP of www.facebook.com to load Facebook when I request a different url (let's say www.x.lk) particular site. It worked well. But when I tried to map the inverse, which should load www.x.lk when I ask for Facebook, it doesn't work. The original Facebook site is being loaded. What is the problem? Can anyone help me out here?

    # Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost
104.16.73.189 www.facebook.com

Answer

Alex Bowe picture Alex Bowe · May 26, 2016

Are you using Chrome by any chance? If you aren't, then try flushing your system's DNS cache (ipconfig /flushdns on Windows).

Chrome however has its own DNS cache. I found that going to chrome://net-internals/#sockets and clicking "Flush socket pools" worked.

If you don't want to have to do this manually every time, the Host Switch Plus extension might help.

Note: you can also go to chrome://net-internals/#dns to check what the URL is resolving to, but the "Clear host cache" button didn't fix this particular problem for me.