How to alias a hostname on Mac OSX
Solution 1:
Just to be clear, I'm basing this on the assumption that you really do want http://local.example.com to load the literal web page http://localhost/path/to/example.com. In other words, this will only work for this machine. If, on the other hand, you're trying to serve web pages to the outside world using your Mac OS X machine, then that's a different question.
First, add a new line to your /etc/hosts
file:
127.0.0.1 local.example.com
You can do this by running the command sudo nano /etc/hosts
, add this line to the end, then save it by pressing Ctrl-X, Y.
How you actually redirect/alias the address http://local.example.com to http://localhost/path/to/example.com/ depends on which web server you're using. Assuming you're using Apache:
If you want the user's browser to show local.example.com, then you want to set up a virual host and your httpd.conf
file should have something like the following:
<VirtualHost *:80>
ServerName local.example.com
DocumentRoot /www/path/to/example.com
</VirtualHost>
If, on the other hand, you want the web browser's location bar to change to http://localhost/path/to/example.com/, then instead you will want to use mod_rewrite to create a redirect:
RewriteCond %{HTTP_HOST} !^local\.example\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/?(.*) http://localhost/path/to/example.com/$1 [L,R,NE]