(I know this is not a programming question per se, but it involves regular expressions, so at least it is borderline… )
The setup:
Apache 2.0 with mod_rewrite on Windows. Two domains, let’s call them domain1.example and domain2.example. I would like to host both domains on the same server (‘server1’), so I point them to the same IP address.
Now, if the user types ‘domain2.example’ into his browser, I want him to end up in a subdirectory** on the server, but leave the domain he typed intact (‘domain2.example/domain2/’). The redirection must leave all absolute and relative links on pages under this domain/directory intact, of course.
Is this possible with mod_rewrite (or Apache virtual hosts or other method), and how do I do it?
** The ‘subdirectory’ in this case is not actually a file folder on disk, but a virtual folder made with the Apache ‘Location’ directive.
Thanks.
I don’t believe that you need to use mod_rewrite, you should be able to use vhosts for this like you suggest. To do this, you will have a single vhost with servername domain2.example which points to the directory you want. This will also use the ServerAlias directive for domain1.example so requests for this go to the same directory.
See the documentation for ServerAlias and DocumentRoot. Also note that if you want the directory to show up in the URL, you will need to use mod_rewrite.