命名虚拟主机在 xampp windows 中不起作用
Posted
技术标签:
【中文标题】命名虚拟主机在 xampp windows 中不起作用【英文标题】:Named virtual host not working in xampp windows 【发布时间】:2018-03-11 11:06:11 【问题描述】:我在 extra\httpd-vhosts.conf
中有以下配置NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/history"
ServerName history.test.in
<Directory "C:/xampp/htdocs/history">
Options All
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>
另外,我在 apache\conf\httpd.conf 文件中启用了此功能,
Include conf/extra/httpd-vhosts.conf
在 drivers\etc\hosts 文件中,我有
127.0.0.1 localhost
127.0.0.1 history.test.in
当我尝试访问 http://history.test.in 时,网站未加载,但尝试使用 http://localhost/history 时,它可以正常工作。我做错什么了吗?另外,我在 Apache 中没有看到任何错误日志。
【问题讨论】:
基于 IP 的主机也可以。我的意思是 127.0.0.1/history 也可以正常工作。问题仅与命名主机有关。非常感谢您的帮助。 【参考方案1】:以上配置是正确的。虚拟主机不工作的原因是系统中的防火墙阻止、杀毒软件中断、多操作系统环境等设置不正确。
这篇文章(大开眼界)帮助我发现了 windows xampp 环境中的问题:https://serverfault.com/questions/452268/hosts-file-ignored-how-to-troubleshoot 特别是 ipconfig /displaydns DNS 命令帮助我发现新主机正确生效。
此外,如果您在系统中运行多个版本的操作系统(windows 7、vista 或 windows 10),请确保编辑正在运行的 drivers\etc\hosts 操作系统的 hosts 文件,而不是闲置一个。
【讨论】:
以上是关于命名虚拟主机在 xampp windows 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
.htaccess 在 xampp 中不起作用(Windows 10)