日期:2014-05-16  浏览次数:20685 次

apache2.2设置虚拟主机

在http-vhosts.conf中设置虚拟主机的信息,我的http-vhosts.conf文件如下:
??? NameVirtualHost *:80

??? #
??? # VirtualHost example:
??? # Almost any Apache directive may go into a VirtualHost container.
??? # The first VirtualHost section is used for all requests that do not
??? # match a ServerName or ServerAlias in any <VirtualHost> block.
??? #
??? <VirtualHost *:80>
??? ??? ServerAdmin webmaster@dummy-host.example.com
??? ??? DocumentRoot /var/www
??? ??? ServerName al.var
??? ??? ServerAlias al.var 192.168.11.150 alvar
??? ??? ErrorLog logs/alvar-error_log
??? ??? CustomLog logs/alvar-access_log common
??? </VirtualHost>

??? <VirtualHost *:80>
??? ??? ServerAdmin webmaster@al.www.com
??? ??? DocumentRoot /mnt/win/www
??? ??? ServerName al.www
??? ??? ErrorLog logs/al.www-error_log
??? ??? CustomLog logs/al.www-access_log common
??? ??? <Directory /mnt/win/www/>
??? ??????? Options -Indexes FollowSymLinks
??? ??????? AllowOverride AuthConfig
??? ??????? Order allow,deny
??? ??????? Allow from all
??? ??? </Directory>
??? </VirtualHost>


?? 修改httpd.conf文件,将#Include etc/extra/httpd-vhosts.conf前面的#去掉。
?? 重启apache.

?? 如果你用的是linux则需要修改/etc/hosts,若为windows则需要修改windows/system32/drivers/etc/hosts文件,加入下面的行:
??? 192.168.11.150? al.www
??? 192.168.11.150? al.var
??? 192.168.11.150? alvar

? 就可以在浏览器中输入,alwww,al.var,或alvar,访问到相应的虚拟主机,

? 后记:在我配置过程中,发现,httpd-vhost.conf中的DocumentRoot路径必须在httpd.conf中DocumentRoot 路径的下面,否则在访问httpd-vhost.conf中设置的虚拟主机时就会现问题,不知道是什么原因,有知道的,希望不吝赐教!

? 用下面的虚拟主机设置不存在上面的问题。

? ?? 73 <VirtualHost *:80>
???? 74?????? ServerAdmin webmaster@dummy-host.example.com
???? 75?????? DocumentRoot "/var/test"
???? 76?????? ServerName test-vhost.com
???? 77?????? serverAlias test-vhost.com
???? 78?????? ErrorLog "logs/test-vhost.com-error_log"
???? 79?????? CustomLog "logs/test-vhost.com-access_log" common
???? 80?????? <Directory /var/test >
???? 81???????????? Options -Indexes FollowSymLinks
???? 82???????????? AllowOverride None
???? 83???????????? Order allow,deny
???? 84???????????? Allow from all
???? 85?????? </Directory>
???? 86?????? <IfModule dir_module>
???? 87???????????? DirectoryIndex index.html index.php index.htm
???? 88?????? </IfModule>
???? 89 </VirtualHost>