使用 XAMPP 1.7.3 的多个主机
Posted
技术标签:
【中文标题】使用 XAMPP 1.7.3 的多个主机【英文标题】:Multiples vHosts with XAMPP 1.7.3 【发布时间】:2014-12-20 05:59:34 【问题描述】:我正在尝试在我的网络上的一台机器上配置多个虚拟主机,但是,无论我使用什么来访问 servername ,apache 总是指向第一个主机。
这是我的 vHosts 文件
<VirtualHost eurekahom:7777>
DocumentRoot "d:\vhosts\eurekahom\controller/"
ServerName eurekahom
# RewriteEngine On
# RewriteOptions Inherit
<Directory />
AllowOverride All
</Directory>
php_value include_path ".;d:\vhosts\eurekahom\controller\includes/"
</VirtualHost>
<VirtualHost eurekades:7777>
DocumentRoot "d:\vhosts\eurekades\controller/"
ServerName eurekades
<Directory />
AllowOverride All
</Directory>
php_value include_path ".;d:\vhosts\eurekades\controller\includes/"
</VirtualHost>
<VirtualHost mauricio:7777>
DocumentRoot "d:\htdocs\mauricio"
#\controller/"
ServerName mauricio
# RewriteEngine On
# RewriteOptions Inherit
<Directory />
AllowOverride All
</Directory>
php_value include_path ".;d:\htdocs\mauricio"
</VirtualHost>
有人知道发生了什么吗?
【问题讨论】:
看起来应该可以了。你在重启apache吗?日志中是否有任何错误?你有Listen *:7777
吗?
【参考方案1】:
我相信虚拟主机有基于 IP 的匹配和服务器名称匹配。所以无论你在这里输入什么:<VirtualHost ________:7777>
应该是一个 IP 地址。由于不想通过IP匹配,你可以留下*:7777
。
所以是的,您的所有语句都将以<VirtualHost *:7777>
开头。当该 7777 端口收到请求时,Apache 将尝试按服务器名称进行匹配,然后将考虑 ServerName
参数。
<Directory>
语句也可能存在更多问题,但我相信这并不是导致 Apache 始终使用第一个 VirtualHost 的原因。
以下链接非常有用,因为它在我遇到非常类似的问题时帮助了我: https://wiki.apache.org/httpd/CommonMisconfigurations
【讨论】:
【参考方案2】:我通常不在 VirtualDirectory 元素中指定主机名,而是将其保留在 *:7777
另外,对于我的htdocs
文件夹之外的目录,我使用了额外的目录选项:
【讨论】:
以上是关于使用 XAMPP 1.7.3 的多个主机的主要内容,如果未能解决你的问题,请参考以下文章