Wamp 服务器:多个虚拟主机无法在 Windows 上运行

Posted

技术标签:

【中文标题】Wamp 服务器:多个虚拟主机无法在 Windows 上运行【英文标题】:Wamp Server: Multiple Virtual Hosts are not working on Windows 【发布时间】:2011-02-01 14:12:20 【问题描述】:

我在 Windows 上有两个虚拟主机(例如:test1.dev 和 test2.dev)。但它总是为两个虚拟主机加载 test1.dev 的内容。

以下是我的文件:

主持人:

127.0.0.1    localhost
127.0.0.1    test1.dev
127.0.0.1    test2.dev

httpd.conf:

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

Include "c:/wamp/alias/*"

<VirtualHost 127.0.0.1>
    ServerName test1.dev
    DocumentRoot "C:\wamp\www\test1\public"
</VirtualHost>

<VirtualHost 127.0.0.1>
    ServerName test2.dev
    DocumentRoot "C:\wamp\www\test2\public"
</VirtualHost>

有人能认出问题吗?

【问题讨论】:

【参考方案1】:

如果NameVirtualHost 不起作用,请不要忘记检查httpd.conf 中的"Listen [::0]:80" 之类的行并在那里添加您的端口。

【讨论】:

【参考方案2】:

我变了

名称虚拟主机 *:80

NameVirtualHost 127.0.0.1:80

它对我有用

【讨论】:

【参考方案3】:

大家好,我已经写了一个非常简单的教程,其中包括整个过程。如果您在评论中遇到任何问题,请告诉我。

http://www.kintek.com.au/web-design-blog/configuring-multiple-domains-within-wamp-for-local-development/

【讨论】:

不要链接到可能会被删除的外部页面,例如博客 正如预测的那样,该页面给出了“找不到页面”。【参考方案4】:

您需要包含类似于以下行的内容

NameVirtualHost *

此外,由于 SSL 协议的限制,您似乎正在使用与虚拟主机不兼容的服务器的 https 连接。 http 请求中的Host 标头是加密的,当 apache 解密它时,它已经将请求传递给虚拟主机之一。

【讨论】:

【参考方案5】:

我做了这样的事情 1-对于本地主机:

NameVirtualHost localhost:80
<VirtualHost localhost:80>
ServerName localhost
ServerAlias localhost
DocumentRoot D:/wamp/www
ErrorLog "D:/wamp/www/error.log"
CustomLog D:/wamp/www/access.log common
<Directory "D:/wamp/www">
    Options -Indexes FollowSymLinks MultiViews
    AllowOverride All
    <IfModule mod_access.c>
    Order allow,deny
    Allow from all
    </IfModule>
</Directory>
</VirtualHost>

2 - 以及任何其他本地域

NameVirtualHost zf.local:80
<VirtualHost zf.local:80>
ServerName zf.local
ServerAlias zf.local 
DocumentRoot D:/Workspace/Zend/documentation
ErrorLog "D:/Workspace/Zend/documentation/error.log"
CustomLog D:/Workspace/Zend/documentation/access.log common
<Directory "D:/Workspace/Zend/documentation">
    Options -Indexes FollowSymLinks MultiViews
    AllowOverride All
    <IfModule mod_access.c>
    Order allow,deny
    Allow from all
    </IfModule>
</Directory>
</VirtualHost>

【讨论】:

【参考方案6】:

您不必将虚拟主机信息写入httpd.conf。只需取消注释您加载conf/extra/httpd-vhosts.conf 的行,然后转到此文件并将您的信息放在那里。应该可以。

我的httpd-vhosts.conf的例子:

NameVirtualHost *:80

<VirtualHost 127.0.0.1>
    DocumentRoot "C:/wamp/www"
    ServerName dev
</VirtualHost>

【讨论】:

windows os 目录中的 httpd-vhosts.conf 在哪里? wamp-dir\bin\apache\Apache2.2.11\conf\extra\ 另外,请查看本指南:dennisplucinik.com/blog/2007/08/16/…【参考方案7】:

我猜你在某处错过了NameVirtualHost 127.0.0.1:80 行:)

【讨论】:

我在 httpd.conf 文件中添加了 (NameVirtualHost 127.0.0.1:80) 现在可以了。

以上是关于Wamp 服务器:多个虚拟主机无法在 Windows 上运行的主要内容,如果未能解决你的问题,请参考以下文章

虚拟主机 - 全部重定向到 WAMP 本地主机“主页”页面

怎么在window下搭建Lnmp php开发坏境?

WAMP 服务器不加载本地主机

在 WAMP 上安装虚拟主机后无法访问默认 localhost

WAMP 中不同端口上的多个虚拟主机

虚拟主机无法使用 wamp 在 Windows 7 上运行