Windows localhost 和虚拟主机上的 Apache

Posted

技术标签:

【中文标题】Windows localhost 和虚拟主机上的 Apache【英文标题】:Apache on Windows localhost and virtualhosts 【发布时间】:2013-12-19 08:05:04 【问题描述】:

这是我的问题,我在 Windows 8.1 机器上运行 wamp 2.2。

现在,安装后,localhost 工作正常。 当我去创建一个虚拟主机时,在设置好 httpd.conf 文件之后,如果我要创建例如:

<VirtualHost *:80>
   DocumentRoot "c:/wamp/www/test/"
   ServerName test.local
</VirtualHost>

这只是覆盖了我的本地主机。首先,test.local 不起作用,如果我要使用 localhost,它会将我带到 c:/wamp/www/test/

有人有解决办法吗?

PS : 我一直在正确设置我的 windows 主机文件(添加:127.0.0.1 test.local),我的 80 端口是空闲的(没有关闭 Skype 和防病毒)。

编辑:我也尝试过使用不同的端口 (8080),但问题仍然存在。

我在浏览器上收到的消息是:“Google chrome 找不到该网站”

【问题讨论】:

【参考方案1】:

试试这个:

<VirtualHost *:80>
DocumentRoot "c:/wamp/www/test" 
ServerName  test.local
ServerAlias test.local
<directory "c:/wamp/www/test">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Require local
</directory>
</VirtualHost>

【讨论】:

嘿!谢谢你的帮助。现在我这样做了,我得到了我一直得到的结果:Chrome(或其他)找不到该页面。【参考方案2】:

如果您设置了虚拟主机,但仍想访问 localhost webroot,则需要为您的 localhost 添加一个虚拟主机首先

主要宿主离开

如果要将虚拟主机添加到现有 Web 服务器,则还必须为现有主机创建一个块。此虚拟主机中包含的 ServerName 和 DocumentRoot 应与全局 ServerName 和 DocumentRoot 相同。首先在配置文件中列出这个虚拟主机,让它作为默认主机。

http://httpd.apache.org/docs/2.0/vhosts/name-based.html

示例(未经测试):

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot C:\wamp/www
</VirtualHost>

<VirtualHost *:80>
    ServerName otherdomain.local
    DocumentRoot C:\wamp/www/otherdomain
</VirtualHost>

【讨论】:

是的,那部分已经完成并且正在工作。本地主机运行良好,但第二个虚拟主机没有。 好吧,我不知道还能告诉你什么,因为我的示例直接来自文档。也许您可以发布您当前的虚拟主机配置,包括NameVirtualHostlocalhost 和您的测试域。您还可以查看此页面的常见错误配置:wiki.apache.org/httpd/CommonMisconfigurations

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

如何从 Windows 7 pc 访问 Mac Osx 上的 localhost XAMPP?

Linux上的kvm虚拟机有没有命令行控制的方法

在 Windows 上为 localhost 创建自签名证书

Xampp 上的 Laravel 虚拟主机无法正常工作

您无权访问此服务器上的 /phpmyadmin/。在 Windows 7 中访问另一个 pc localhost

WPMU 的第三级域 localhost 上的 ERR_NAME_NOT_RESOLVED