How to Change Your Hosts File

The hosts file allows you to set IP addresses for a domain on your local computer that may override the authoritative DNS. This will allow you to see what a domain will display if it is pointed to a different server. In this article, I will show you how you can make changes to your hosts file.

How to Recognize a Hosts File?

The hosts file is a plain text file, and is usually named hosts. A typical hosts file will have one or more lines referencing your local computer (as ‘localhost’) and will resemble this:


127.0.0.1 localhost
123.45.67.89 www.example.com
#98.76.54.32 www.another-example.com

A hosts file can be edited to override your network settings and thus allow your local machine to view a website prior to the DNS changes propagating.

Why Change the Hosts File?

Changing your hosts file is a temporary measure to preview your site as it will load from your web server. This lets you make changes on a server other than the one loaded by your domain when visitors access your page.

This is very useful for development purposes or when you are moving your site to a new server, as you can work on your site on an alternate server using a hosts file while visitors may still visit and use your existing site.

Editing Your Hosts File

To change the host your domain loads from, you will need to know the correct IP for your server. This information is usually available in your cPanel. You should also be able to find it in the confirmation email that was sent to you when you signed up for that hosting.

Once you know your server IP address, there are 2 ways that you can change the host your domain loads from.

1. Browser Plugin
2. Editing System Files

Please make sure to undo any changes you have made after you are done working on your site, as any of these changes will prevent your domain from loading the correct DNS.

Browser Plugin

Many web browsers have plugins/extensions that will allow you to make this change without loading your site through a proxy. If you need to test SSL installation or payment gateways, this may be vastly preferred over using third-party web proxies.

We recommend the following plugins for Firefox and Chrome, depending on which browser you prefer:

Firefox: Hostadmin
Chrome: Virtual Hosts

Both plugins require your desired host and your cPanel IP to load it from. Each plugin will have different instructions to use and may differ based on version.

Editing System Files

Alternatively, you may change the host your local computer loads your website from by directly editing your system’s hosts file. This method will be easier if you are an experienced user of the operating system on your local PC.

All operating systems will have a hosts file like this example:


127.0.0.1 localhost
123.45.67.89 www.example.com
#98.76.54.32 www.another-example.com

Add the second line in this example to your hosts file, with the following edits:

1. Replace “123.45.67.89” with the IP address from your cPanel.
2. Replace “www.example.com” with your actual domain name.
You may deactivate a line to undo this change by prefacing it with a “#” (as in the third line above). This will cause the line to be ignored.

Here are some specific instructions for how to make this change on your desired operating system:

Windows

Windows 10/8

1. Select the “Start” key and locate Notepad. (If you do not see it on your current Start page, begin typing “Notepad” and a search box will appear on the right side of the screen with a list of programs under it. Notepad should be at the top of this list.

2. “Right click” on Notepad. You will see options appear on the bottom portion of the Start Page.

3. Select “Run as administrator”.

Note: Performing this action may cause Windows User Account Control to prompt you with a warning or if you are logged in as another user, a request for the Administrator password. This step is necessary to modify system files such as the hosts file.

4. Click “File” in the menu bar at the top of Notepad and select Open.

5. Click the drop-down box in the lower right-hand corner that is set to “Text Documents (*.txt)” and select “All Files (*.*)”.

6. Browse to “C:\Windows\System32\Drivers\etc” and open the “hosts” file.

7. Make the needed changes, as shown above, and close Notepad.

8. Save when prompted.

Windows 7 or Vista

1. Browse to “Start > All Programs > Accessories”.

2. Right-click “Notepad”, and select “Run as administrator”.

3. Click “Continue” on the UAC prompt.

4. Click “File > Open”.

5. Browse to “C:\Windows\System32\Drivers\etc”.

6. Change the file filter drop-down box from “Text Documents (*.txt)” to “All Files (*.*)”.

7. Select “hosts”, and click “Open”.

8. Make the needed changes, as shown above, and close Notepad.

9. Save when prompted.

Windows XP and Earlier

1. Browse to “Start > Find > Files and Folders”.

2. Select the “hosts” file in your Windows directory (or WINNT\system32\drivers\etc).

3. Verify that the file is not “read only” by right-clicking it, and choosing “Properties”.

4. Open the file for editing with Notepad.

5. There should already be an entry for “localhost.”

6. Make the needed changes and close Notepad.

7. Save when prompted.

You may also need to reboot for the change to take effect. The next time you visit your domain, your browser will try to find the domain at the corresponding IP instead of looking up the IP through DNS.

Mac OS X

Follow the instructions below to edit your hosts file if you are running Mac OS X.

1. Open the Terminal application. Start by typing Terminal on the Spotlight or by going to “Applications > Utilities > Terminal”.

2. Open the hosts file by typing in the Terminal that you have just opened:


sudo nano /private/etc/hosts

Note: Some versions of Mac OS X will lock permissions on the hosts file (the file is marked as immutable). In the event this happens, use the following command instead:

 

sudo chflags nouchg /private/etc/host

3. Type your user password when prompted.

4. The hosts file contains some comments (lines starting with the # symbol), as well as some default hostname mappings (e.g. 127.0.0.1 localhost). Simply append your new mappings underneath the default ones. You can navigate the file using the arrow keys.


123.45.67.89 domain.com www.domain.com

Replace “123.45.67.89” with your server IP. Replace domain.com with your actual domain name. Additional domains, subdomains or addon domains (such as www.domain.com) can be added at the end of the line, separated by spaces.

5. When done editing the “hosts” file, press “Control-o” to save the file.
Press Enter on the filename prompt, and “Control-x” to exit the editor.

UNIX

On Unix-based systems, you can find the hosts file at “/etc/hosts”. Most distributions of Unix will have terminal located in the same location.

To open the terminal:

1. Go to “Menu”.

2. Select “Applications”.

3. Choose “Accessories”.

4. Select “Terminal”.

5 Open the hosts file by typing in the Terminal that you have just opened:


sudo nano /etc/hosts

6. Type your user password when prompted.

7. The hosts file contains some comments (lines starting with the # symbol), as well as some default hostname mappings (e.g. 127.0.0.1 localhost). Simply append your new mappings underneath the default ones. You can navigate the file using the arrow keys.


123.45.67.89 domain.com www.domain.com

Note: Replace “123.45.67.89” with your server IP. Replace domain.com with your actual domain name. Additional domains, subdomains or addon domains (such as www.domain.com) can be added at the end of the line, separated by spaces.

8. When done editing the hosts file, press “Control-o” to save the file.

9. Press “Enter” on the filename prompt, and “Control-x” to exit the editor.

DNS Flush

Once you have modified your hosts file, it is recommended that you flush your DNS so that the new changes can be implemented more swiftly. DNS flushing must be done using a command line. But depending on your computer’s OS, there will be different commands. For more information check this guide on How to Flush DNS.

Leave a Comment