When you have multiple local websites mapped to different ports, it becomes difficult
to remember on which port each site presents. To simplify this, you can use name-based
virtual host and define an alias for your website in your system
First, modify your Apache virtual host file to be name-based virtual host:
<VirtualHost *:80> # Add the ServerName directive ServerName site1.localhost ... </VirtualHost>
Next, you should edit the
hosts file. The
hosts file is a system file
which contains mappings between IP addresses and host names. The hosts file contains
lines of text consisting of an IP address in the first text field followed by one or
more host names.
To add an alias for your local websites, add lines for each of your website as shown in the example below.
So now you'll be able to simply enter "site1.localhost" in your browser's address bar instead of remembering the port number.
In Linux, the hosts file is located in
/etc/hosts. In Windows, the file is typically located in
C:\Windows\System32\drivers\etc\hosts. To edit the file, you need to be an administrator. Please also note that some anti-virus software may block changes to hosts file, so you'll have to temporarily disable your anti-virus to edit the file, and enable it after.
If you have purchased a real domain name for your website (like
example.com), you do not need to modify your
hostsfile, because Apache will be able to resolve the IP address of your website using the DNS system. You modify your
hostsfile only when DNS system knows nothing about the domain name and can't resolve the IP address of your website.