apache 虚拟主机:如何添加 2 个虚拟主机?

apache 虚拟主机:如何添加 2 个虚拟主机?

我在 Windows 上运行 Apache 进行开发。我的目标是配置 2 个本地网站:我在 httpd.conf 中完成了此操作

<VirtualHost *:80>
    DocumentRoot C:\Users\Proxymis\Desktop\sites\site1
    ServerName site1.localhost
    <Directory C:\Users\Proxymis\Desktop\sites\site1>
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

效果很好。现在我想添加 site2。如果我添加 site2,我仍然会转到 site1(*:80)

我尝试改成,<VirtualHost *:80>但是<site1.localhost*:80> 没有成功。

我想为我的所有网站保留相同的端口 (80)。我尝试使用别名:问题是文档根目录指向 apache 安装,因此像 /css.css 这样的链接会出现 404 错误

有什么线索吗?

答案1

我也想添加 site2

您需要类似下面的东西。

conf/extra/httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot C:/Users/Proxymis/Desktop/sites/site1
    ServerName site1
    ServerAlias *.site1
    <Directory C:/Users/Proxymis/Desktop/sites/site1>
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot C:/Users/Proxymis/Desktop/sites/site2
    ServerName site2
    ServerAlias *.site2
    <Directory C:/Users/Proxymis/Desktop/sites/site2>
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

笔记:

  • ServerAlias在上面添加了几行

  • /路径通常写成\

  • 虚拟主机应该定义conf/extra/httpd-vhosts.confconf\httpd.conf

  • conf\httpd.conf应该包含Include conf/extra/httpd-vhosts.conf

C:\Windows\System32\drivers\etc\hosts

127.0.0.1       site1
127.0.0.1       site2
::1             site1
::1             site2

相关内容