一般我们会把所有的虚拟主机配置在一个文件中,例如:vhost.conf文件!vhost.conf中无论配置多少个虚拟主机,第一个虚拟主机就是默认的虚拟主机:
#Virtual Machine site users default prompt page
#begin default
ErrorDocument 404 /404.htm
ErrorDocument 404 /404.htm
ErrorDocument 500 /cgi-pub/500
ServerName ##其实一般情况下会用公司的域名来命名
DocumentRoot /usr/vhome/
php_admin_value open_basedir /usr/vhome/:/usr/vhome/tmp
#end default
例如:我们的虚拟主机设置,同时在/usr/vhome目录下有一个index.html文件。 如果有一个域名解析到我们的服务器上,访问时,如果在vhost.conf中没有和它匹配的ServerName, 就会默认显示默认虚拟主机下的内容给浏览器!
测试方法:在C:\WINDOWS\system32\drivers\etc的HOSTS文件中加入一条记录:
114.*.*.132 ##当然我们的apache所在的机器ip也为114.*.*.132
这是在浏览器中访问 先解析成ip 114.*.*.132 解析成ip相当于找到公网上的机器了,但是由于在vhost.conf中没有和向匹配的ServerName,只好显示默认虚拟主机的内容给浏览器!
遇到的问题:由于对vhost.conf进行了清理,把默认的虚拟主机给清理掉了。由于illegal 关闭了另外一个用户的网站,但客服同事测试该网站还是能打开(打开是另外一个页面!),就怀疑用户的网站被篡改了,其实不是的,是另外一个网站充当了默认虚拟主机,只要重新创建默认虚拟主机就可以了!
阅读(3309) | 评论(0) | 转发(0) |