Forum Moderators: phranque
NameVirtualHost mysite
<VirtualHost mysite>
ServerAdmin webmaster@example.com
DocumentRoot c:/my documents/web/mysite
ServerName mysite
</VirtualHost>
<VirtualHost othersite>
ServerAdmin webmaster@example.com
DocumentRoot d:/www/othersite
ServerName othersite
</VirtualHost>
but this does not work.
What did I do wrong? Anything need to be set particularly in Apache for Windows?
Thank you.
VirtualDocumentRoot c:/my documents/web/%0
...to your Apache config; and then build your sites in sub-directories at c:/my documents/web/ with the directory name equal to the host name you wish to use. Apache will replace %0 in the above example with the host name in use and take that as the document root.
The file "hosts" (possibly in c:\windows\system\drivers\etc - varies by windows version) should have one entry for each site:
127.0.0.1 localhost
127.0.0.1 local.widgetdomain1.com
127.0.0.1 local.widgetdomain2.com
etc.. In my httpd.conf I just have (repeated for each site):
<VirtualHost *>
DocumentRoot /home/widgetdomain1.com/web
ServerName local.widgetdomain1.com
</VirtualHost> The virtual host bit can have other directions for each site, such as rewrites, DirectoryIndex etc.
Restart Apache after changing the config, of course. Then the local version of each site is reachable with local.widgetdomain2.com etc., in place of www... for the live site.
(I should also mention that I think having them all at 127.0.0.1 didn't work for me in earlier Windows - I used 127.0.0.2, 3, etc. but seems OK in XP.)