设置Apache虚拟主机(Windows)
问题描述:
如何在Windows上为多个域名设置虚拟主机? 我会用它来做我自己的测试项目。我有3个项目需要设置,目前我正在使用xampplite作为可移植的apache。设置Apache虚拟主机(Windows)
- www.foo-bar.com - >直接到c:\ Xampplite文件\ htdocs中\ FOO条\
- www.abcdef.com - > DIRECTO到c:\ Xampplite文件\ htdocs中\ ABCDEF \
- www.qwerty.com - >直接到c:\ Xampplite文件\ htdocs中\键盘\网络\
我还需要在其他项目中访问,但它就像打字 http://localhost/my-project/
如何为此编写虚拟主机配置?
答
您需要执行几个步骤才能完成此项工作。
1.)更新hosts
文件。在Windows XP上,您可以在c:\WINDOWS\system32\drivers\etc\
下找到它。您应该已经看到下面的第一行,它会照顾您提到的其他项目。 - 添加额外的请求,将所提到的虚拟主机发送回自己的机器。
127.0.0.1 localhost
127.0.0.1 foo-bar.com
127.0.0.1 abcdef.com
127.0.0.1 qwerty.com
2.)更新在Apache配置的虚拟主机文件。在您的XAMPP文件夹下,将以下内容添加到apache\conf\extra\httpd-vhosts.conf
,如果需要更改端口(即如果使用8080而不是端口80)。
<VirtualHost *:80>
DocumentRoot C:/xampplite/htdocs/foo-bar/
ServerName www.foo-bar.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot C:/xampplite/htdocs/abcdef/
ServerName www.abcdef.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot C:/xampplite/htdocs/qwerty/web/
ServerName www.qwerty.com
</VirtualHost>
3)进行快速配置检查。打开{XAMPP-folder}\apache\conf\httpd.conf
您的文件,并确保以下部分不是由前述#
字符注释掉:
Include conf/extra/httpd-vhosts.conf
4)重新启动XAMPP。
...你现在应该都准备好了。如果你只是把它放在C:/xampplite/htdocs/my-project/
下,你的其他项目应该可以通过你提到的URI访问。
答
要得到C:/xampp/htdocs/my-project/
工作我不得不添加以下(默认?)VirtualHost到apache\conf\extra\httpd-vhosts.conf
(在MicE教程的第2步)。
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>
我一直在使用不同的端口,并没有任何运气让这个在Windows上正常工作。你有什么建议吗?例如,使用端口8080。 – Jessycormier 2014-03-20 14:05:38
你可能已经发现的一件事是你需要改变vhosts文件,即使用''。但是每次我这样做时,我都会忘记告诉Apache在这个端口上收听。在你的'httpd.conf'文件中寻找“Listen”,并将其设置为'Listen 8080'。另外,如果你仍然使用Apache 2.2,你可能还需要在'httpd-vhosts.conf'中的虚拟主机设置之上添加'NameVirtualHost *:8080'。 –
MicE
2014-06-21 07:08:38
谢谢。通过提及包含.../httpd-vhosts.conf的难以捉摸的检查,您为我省下了很多努力!我以为它会默认包含,但它不是,我用的教程没有提到它。现在就像魅力一样。 – zehelvion 2014-08-10 13:08:52