Even if your web host does offer a method of previewing a site before you’ve changed the DNS, it’s usually more trouble than it’s worth, particularly if the method is a proxy and your site code includes hardcoded paths or URLs. (I’m looking at you, GoDaddy, with your PreviewMyWebSiteNow).
As an alternate, you can configure your hosts file. A hosts file is a text file on your computer that maps domains to server IP addresses, just like the Domain Name Server (aka DNS) does, except locally. Here’s how:
- Obtain your site’s IP address. Most hosting control panels (like cPanel or Plesk) have this information on the main dashboard.
- Find your
hostsfile. This depends on what platform you’re using. For Mac it will be/private/etc/hosts. For Windows,C:\\Windows\System32\Drivers\etc\hosts. For Linux,/etc/hosts. - Create a backup copy of your
hostsfile. If living dangerously, skip this step. - Open
hostsfor editing. If you get a permissions error, try it assudo. - Add a line to the bottom of the file, containing the server IP address and domain, separated with a space, like so:
127.0.0.1 facebook.com[Note: The example above effectively blocks Facebook, which is why you never let your nerd friend borrow your laptop unsupervised.]
- Save the file and test. If the domain isn’t resolving to the new site, try dumping your DNS cache and restart your browser.
Caveats
- This will only remap the domain on your local machine. The domain mapping will be unchanged for anyone else (such as a client).
- Remember to remove this entry from your
hostsfile when you change the DNS for real.