Windows 上 Apache 虚拟主机的正确语法是什么?

Windows 上 Apache 虚拟主机的正确语法是什么?

我很抱歉,但这很难弄清楚。

我正在运行 Apache 2.2,这是在 Windows 机器上,我自己的家用电脑仅用于开发。Windows XP Pro SP3。

我有五个网站需要创建虚拟主机。每个网站都有相同的 URL,但有不同的 IP 地址和不同的文件夹。

我在 hosts 文件中有指向 127.0.0.1 的 URL + 端口,但无法获取虚拟主机的正确语法。

<VirtualHost site.local:1>
DocumentRoot "C:/www/1"
ServerName site.local:1
</VirtualHost>

<VirtualHost site.local:2>
DocumentRoot "C:/www/2"
ServerName site.local:2
</VirtualHost>

<VirtualHost site.local:3>
DocumentRoot "C:/www/3"
ServerName site.local:3
</VirtualHost>

不,这些不是我计划使用的真实端口,只是为了给您提供文件夹结构和 URL 结构的基本示例。

我将标准的 index.html 放在其中一个文件夹中,然后尝试访问该 URL,但总是超时。

所以我想知道正确的语法以及将来如何做到这一点,因为这部分似乎总是令人困惑。

答案1

如果您想要拥有具有相同ServerName但不同端口的 VirtualHosts,则需要进行以下 Apache 配置:

<VirtualHost *:1111>
    ServerName site.local
    DocumentRoot "C:/www/1"
</VirtualHost>

<VirtualHost *:2222>
    ServerName site.local
    DocumentRoot "C:/www/2"
</VirtualHost>

# etc

你只需要:

127.0.0.1    site.local

在您的主机文件中。

答案2

请参阅我对原始问题的评论——日志条目对于诊断您的问题非常有帮助。

另外,请确保你已经Listen您想要在 Apache 配置中使用的每个端口的指令。

相关内容