![Windows 上 Apache 虚拟主机的正确语法是什么?](https://linux22.com/image/543472/Windows%20%E4%B8%8A%20Apache%20%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E7%9A%84%E6%AD%A3%E7%A1%AE%E8%AF%AD%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我很抱歉,但这很难弄清楚。
我正在运行 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 配置中使用的每个端口的指令。