Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

In a nutshell, I would like to be able to open a browser and open local.example.com but it actually loads http://localhost/path/to/example.com/

I am using Mac OSX 10.5, and not afraid to get my hands dirty with the terminal :)

I use Apache as my local server.

share|improve this question
    
Are you trying to serve web pages to the outside world, or are you only expecting the local.example.com URL to work for your machine? –  Stephen Jennings Jun 14 '10 at 2:37
    
Just for my own machine. It gets tiresome typing/remembering the full filepath to my local copy of whatever websites I'm working on. –  Austin Hyde Jun 14 '10 at 2:39

1 Answer 1

up vote 14 down vote accepted

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]
share|improve this answer
    
This won't go to a certain path though –  John T Jun 14 '10 at 2:13
    
@John you're right, fixed. –  Stephen Jennings Jun 14 '10 at 2:44

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.