Apache虚拟主机的奇怪问题

时间:2009-07-07 14:24:24

标签: apache virtual-hosts

我最近在Windows Vista计算机上安装了Apache 1.3.41。我没有在尝试设置虚拟主机时更改httpd.conf aprart中的默认设置,如下所示:

在hosts文件中添加了一些主机名:

127.0.0.1    localhost
#::1         localhost
127.0.0.1    mysite
127.0.0.1    mydomain

我在C:/ Users / Moukasp /

中创建了以下文件夹
C:/Users/Moukasp/Apache
C:/Users/Moukasp/django/mysite

然后在每个文件夹和c:/Users/Moukasp/pictures文件夹中添加了一些简单的html页面,最后,我在httpd.conf的末尾添加了以下设置:

NameVirtualHost 127.0.0.1

<VirtualHost localhost>
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "C:/Users/Moukasp/Apache"
ServerName localhost
Alias "/pics" "c:/users/moukasp/pictures" 
Alias "/ap"  "C:/Program Files/Apache Group/Apache/htdocs"
Alias "/dj" "C:/Users/Moukasp/django/mysite"  
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

<VirtualHost mysite> 
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "C:/Users/Moukasp/django/mysite"
ServerName mysite
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

<VirtualHost mydomain>
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "C:/Users/Moukasp/django/mysite"
ServerName mydomain
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

所以,网址

http://localhost 
http://localhost/pics
http://localhost/ap
http://localhost/dj
http://mydomain

工作正常。但我没有http://mysite的回复,从设置中可以看出,它与http://mydomain的文件夹相同。我尝试了各种名称,但没有回应。每次启动Apache服务器时都会读取hosts文件。我甚至从hosts文件和mydomain中删除了httpd.conf服务器,以免虚拟主机数量有限制,但没有运气。

任何帮助都会非常感激,我疯了!确实,我在完成失败后尝试使用mod_python for django!我只希望一步一步能取得一些成功!

4 个答案:

答案 0 :(得分:0)

尝试:

NameVirtualHost 127.0.0.1:80

在你的httpd.conf中。我的配置文件包含一条注释,说明应该使用端口说明符。

答案 1 :(得分:0)

VirtualHostNameVirtualHost指令应具有IP地址和端口:

NameVirtualHost 127.0.0.1:80

<VirtualHost 127.0.0.1:80> 
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "C:/Users/Moukasp/django/mysite"
ServerName mysite
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

答案 2 :(得分:0)

尝试NameVirtualHost 127.0.0.1:80,但 没有任何区别!唯一有效的服务器是localhostmydomain
我想知道我是否需要做更多的事情,而不仅仅是在hosts文件中声明每个虚拟主机的服务器名称。

答案 3 :(得分:0)

尝试向主机添加端口声明。例如:

<VirtualHost mydomain:80>
DocumentRoot "C:/Users/Moukasp/django/mysite"
ServerName mydomain
</VirtualHost>