I have a production site at example.com (with a subdomain multi-install) and I have been meaning to setup a development environment at beta.example.com (also having all of the multi-sites). I would like these machines to be as identical to each other as possible so the push from the development machine to the production machine goes very smoothly. Is it possible to have the sites folders named the same on the development machine as they are named on the production machine? That is, they do not have beta in the file name. Does this involve hostname rewriting? Can apache even do that?
Yes it is possible to have the same DIR structure as on your live site using sym links.
Suppose subsite.example.com is a folder on live site on production you need a link like
beta-subsite.example.com -> subsite.example.com And you can use subsite.example.com in both your environments.
SO folders on Live site will be
In dev environment one extra link has to be created pointing to subsite.example.com.
@kantu's answer makes sense for Drupal 6.
When you migrate to Drupal 7, you can create a sites.php file. In it, you can create mappings from domain/path/port triplets (eg, the parts of the HTTP request) to paths within sites. For example, you could make
$sites['beta.example.com'] = 'example.com';
and this would map requests from beta.example.com to sites/example.com/.
I don't really see a way around having individual settings.php files for each, though.