设置apache虚拟主机(windows)

nig*_*2k1 47 windows apache webserver virtualhost

如何在Windows上为多个域名设置虚拟主机?我将它用于我自己的测试项目.我有3个项目需要设置,目前我正在使用xampplite进行可移植的apache.

  1. www.foo-bar.com - >直接发送到c:\ xampplite\htdocs\foo-bar \
  2. www.abcdef.com - > directo to c:\ xampplite\htdocs\abcdef \
  3. www.qwerty.com - >直接发送到c:\ xampplite\htdocs\qwerty\web \

我还需要访问另一个项目,但它就像输入 http:// localhost/my-project /

如何编写vhost配置?

Mic*_*icE 108

您需要执行几个步骤才能使其工作.


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
Run Code Online (Sandbox Code Playgroud)


2.)在Apache配置中更新vhosts文件.在您的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>
Run Code Online (Sandbox Code Playgroud)


3.)进行快速配置检查.打开{XAMPP-folder}\apache\conf\httpd.conf您的文件,确保以下部分没有被前面的#字符注释掉:

Include conf/extra/httpd-vhosts.conf
Run Code Online (Sandbox Code Playgroud)


4.)重新启动XAMPP.


......现在你应该全部安装好了.如果你只是把它放在你提到的URI上,你的其他项目应该可以访问C:/xampplite/htdocs/my-project/.

  • 您可能已经发现的一件事是您需要更改 vhosts 文件,即使用 `&lt;VirtualHost *:8080&gt;`。但是每次我这样做时,我都会忘记告诉 Apache 监听那个端口。在`httpd.conf` 文件中查找“`Listen`”,并将其设置为`Listen 8080`。另外,如果您仍在使用 Apache 2.2,您可能还需要在 `httpd-vhosts.conf` 中的 vhost 设置之上添加 `NameVirtualHost *:8080`。 (2认同)
  • 谢谢。你提到了对 Include .../httpd-vhosts.conf 的难以捉摸的检查救了我!我认为默认情况下会包含它,但事实并非如此,我使用的教程也没有提到它。现在就像一个魅力。 (2认同)

Jer*_*Vdb 6

为了C:/xampp/htdocs/my-project/工作,我必须添加以下(默认?)VirtualHost apache\conf\extra\httpd-vhosts.conf(在MicE教程的第2步).

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)