XAMPP 中的虚拟主机

Posted

技术标签:

【中文标题】XAMPP 中的虚拟主机【英文标题】:Virtual Host in XAMPP 【发布时间】:2019-06-11 22:16:06 【问题描述】:

我在 Windows 上运行 XAMPP。我的整个分区 E 是 DocumentRoot,我已将其全部配置为监听 127.0.0.1 而不是 localhost 来解决性能问题。我可以通过 127.0.0.1/project1 访问我的项目以获取位于 E:\project1 上的内容。工作正常。

我的主机文件如下所示:

127.0.0.1 localhost
127.0.0.1 127.0.0.1

现在我想为不同的客户设置一个虚拟主机,它应该在浏览器中监听不同的地址,比如“new.server”。此外,它应该在不同的目录中查找:f:/newserver。 我想在 f:/newserver/project2/ 上使用 new.server/project2 访问这些新项目

我已经在 httpd-vhosts.conf 中尝试过这个

<VirtualHost new.server:80>
    ServerName new.server
    DocumentRoot "F:/newserver"
    <Directory "F:/newserver"
    Order allow,deny
    Allow from all
    </Directory>
    ErrorLog "logs/newserver.local-error_log.log"
</VirtualHost>

但事情并不顺利。我在conf文件周围改了一些东西,但真的不知道该怎么做,所以我想请教。

【问题讨论】:

【参考方案1】:

首先,确保您在 httpd.conf 中取消了对这一行的注释

Include conf/extra/httpd-vhosts.conf

所以我认为你的 vhosts 文件有问题。尝试用 IP 地址而不是服务器名称替换顶行。或者一个星号,因为那是一种更简单的方法。 像这样的东西应该可以工作:

<VirtualHost *:80>
    ServerName new.server
    DocumentRoot "F:/newserver"
    <Directory "F:/newserver">
    Order allow,deny
    Allow from all
    </Directory>
    ErrorLog "logs/newserver.local-error_log.log"
</VirtualHost>

【讨论】:

Include conf/extra/httpd-vhosts.conf 未注释。您建议的 vhosts-entry 不起作用。我在浏览器中输入 new.server,几秒钟后我被重定向到 new.server 并出现错误。我必须更改我的主机文件吗? 对不起...我的链接错误。我的意思是:我在浏览器中输入 http://new.server,几秒钟后我被重定向到 http://www.new.server/ 并出现错误。 您的其他虚拟主机看起来如何?您可以尝试将“127.0.0.1 new.server”添加到您的主机文件中,但我怀疑就是这样。还有“127.0.0.1 127.0.0.1”应该做什么? 我在你的例子中发现了一个缺失的 > 在这一行: 127.0.0.1 127.0.0.1 是性能优化的一部分。我将 localhost 替换为 127.0.0.1 以获得更好的性能。它确实奏效了。

以上是关于XAMPP 中的虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章

Windows中的Apache通配符虚拟主机(xampp)[重复]

在 Laravel 5.6 项目中使用 xampp 的虚拟主机中的别名

XAMPP中的虚拟主机问题,基于Laravel的项目

本地主机中的 XAMPP 延迟

XAMPP 默认虚拟主机

如何在XAMPP上创建虚拟主机