apache下多站点的架设

2014/6/17 13:57:00

这里是指同一IP绑定N个域名,有二种方式实现
方法1、仅修改httpd.conf
假设二个域名bbs.xxx.com与blog.xxx.com
打开httpd.conf
将文件拖到最下面,加上
 
1. <VirtualHost *:80>  
2.  ServerName bbs.xxx.com   #域名   
3.  DocumentRoot "F:/website/bbs"   #该域名对应的目录地址     
4. <Directory "F:/website/bbs">   #该节点是配置权限、默认首页啊等等东东。   
5.  Options FollowSymLinks IncludesNOEXEC Indexes   
6.  DirectoryIndex  index.php    
7.  AllowOverride None    
8.  Order Deny,Allow    
9.  Allow from all       
10. </Directory>  
11. </VirtualHost>  
12.   
13. <VirtualHost *:80>  
14.  ServerName blog.xxx.com   
15.  DocumentRoot "D:/PHPSite/wordpress"   
16. <Directory "D:/PHPSite/wordpress">    
17.  Options FollowSymLinks IncludesNOEXEC Indexes   
18.  DirectoryIndex  index.php    
19.  AllowOverride None    
20.  Order Deny,Allow    
21.  Allow from all    
22. </Directory>  
23. </VirtualHost>

重启apache,就OK啦。当然你要修改你的hosts文件。

方法2、修改\PhpServer\Apache2.2\conf\extra\httpd-vhosts.conf
直接将上面一段copy到httpd-vhosts.conf的最后即可。
实际上看名字就知道httpd-vhosts.conf是一个虚拟站点配置集中地,方便管理。
也就是如下:

 
# Virtual Hosts  
 
# If you want to maintain multiple domains/hostnames on your  
# machine you can setup VirtualHost containers for them. Most configurations  
# use only name-based virtual hosts so the server doesn't need to worry about  
# IP addresses. This is indicated by the asterisks in the directives below.  
 
# Please see the documentation at   
# <http://httpd.apache.org/docs/2.2/vhosts/> 
# for further details before you try to setup virtual hosts.  
 
# You may use the command line option '-S' to verify your virtual host  
# configuration.  
 
 
# Use name-based virtual hosting.  
 
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> 
 ServerName bbs.xxx.com   #域名  
 DocumentRoot "F:/website/bbs"   #该域名对应的目录地址    
<Directory "F:/website/bbs">   #该节点是配置权限、默认首页啊等等东东。  
 Options FollowSymLinks IncludesNOEXEC Indexes  
 DirectoryIndex  index.php   
 AllowOverride None   
 Order Deny,Allow   
 Allow from all      
</Directory> 
</VirtualHost> 
 
 
<VirtualHost *:80> 
 ServerName blog.xxx.com  
 DocumentRoot "D:/PHPSite/wordpress"  
<Directory "D:/PHPSite/wordpress">   
 Options FollowSymLinks IncludesNOEXEC Indexes  
 DirectoryIndex  index.php   
 AllowOverride None   
 Order Deny,Allow   
 Allow from all   
</Directory> 
</VirtualHost>  
重启apache。
如果不行的话,看你的httpd.conf是否启用了vhost
打开httpd.conf,找到
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
看是否启用,即去掉Include conf/extra/httpd-vhosts.conf前的#
重启apache。

处理 SSI 文件时出错