我如何让我的Apache虚拟主机工作?

我试图为本地开发build立虚拟主机,似乎无法得到它的工作。

我在我的httpd.conf中有这个:

NameVirtualHost * <VirtualHost *> ServerName localhost DocumentRoot C:/Users/Elliot/dev/UniServer/www </VirtualHost> <VirtualHost *> ServerName drupal.dev DocumentRoot C:/Users/Elliot/dev/UniServer/www/drupal.dev/httpdocs </VirtualHost> 

这在C:\ Windows \ System32 \ drivers \ etc \ hosts中:

 127.0.0.1 localhost 127.0.0.1 drupal.dev 

http://localhostparsing成功, http://localhost //drupal.dev/不。

任何想法欢迎…


编辑:我敢肯定,我的主机文件是潜在的问题,任何编辑被忽略。

奇怪的是,我可以编辑,保存和删除它没有提升的权限,这不应该在Windows> = Vista的情况下。

我正在通过“什么可以导致DNS查找忽略主机文件条目?”,“被忽略的HOSTS文件”和“在Windows XP中的主机文件的问题(作为新用户,我不能张贴链接)。


编辑:在我的情况下,停止DNS客户端服务解决了问题….


编辑:…但只是非常简短。

做一个drupal.dev平,并确保其解决你的机器。 此外,尝试将documentRoot设置为与上面相同(C:/ Users / Elliot / dev / UniServer / www /),以防万一它是一个权限问题。

看看这里的例子:

http://www.cyberciti.biz/faq/apache-name-based-virtualhost-example/

设置NameVirtualHost的IP地址,然后用合格的名称replace每个VirtualHost的*(localhost为第一个,drupal.dev为第二个)。

尝试把drupal.dev放在hosts文件的localhost中,例如:

 127.0.0.1 localhost drupal.dev 

你有这个条目:

 NameVirtualHost * 

它允许你启用vHosts

又一个例子,我如何与Uniserver合作。 我的伪域名是“memelpower.lc”,你可以在下面看到。

C:\uniserver\core\apache2\conf\httpd.conf ,将其添加到文件末尾:

 NameVirtualHost * <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "C:/uniserver/www/memelpower/public/" ServerName memelpower.lc ServerAlias memelpower.lc ErrorLog "C:/uniserver/www/memelpower/public/error_log" CustomLog "C:/uniserver/www/memelpower/public/access_log" common </VirtualHost> 

然后你在C:\Windows\System32\drivers\etc\hosts添加这行:

 127.0.0.1 localhost memelpower.lc 

重新启动Apache,它应该工作。