在win7下安装Apache,vhost.map方式配置虚拟主机
打开apache安装目录下/conf/httpd.conf文件
#开启rewrite模块,搜索定位到 rewrite_module并修改
1
2
3
4
5
6
7
8
9
|
LoadModule rewrite_module modules/mod_rewrite.so
#如果要启用反向代理,将以下模块开启
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
|
在httpd.conf文件最底下添加以下代码,目的是让 apache对d:/WorkSpacea
目录有控制权限(可以根据自己的意愿修改),后面我们的虚拟主机都建在这个目录下。
1
2
3
4
5
6
7
|
<Directory "/WorkSpacea">
Options +FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
|
在httpd.conf文件最底下添加再以下代码,实现vhost.map功能的主要代码。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# 重写引擎开启
RewriteEngine on
#RewriteLog logs/rewrite.log
#RewriteLogLevel 9
# 将服务器名小写规则
RewriteMap lowercase int:tolower
#vhost.map路径请根据实际情况自动更改
RewriteMap vhost txt:D:/Myserver/vhost/vhost.map
#代理
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${Proxy_vhost:%1} ^(.*)$
RewriteCond ${vhost:%1} ^(http.*)$
RewriteRule ^/(.*)$ %1/$1 [P]
#目录虚拟主机
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(.*)$
RewriteRule ^/(.*)$ %1/$1
|
保存并重启apache,然后在前面配置文件中指定的vhost.map路径建立一个新文件vhost.map
内容如下
1
2
3
|
127.0.0.2 d:\
127.0.0.3 d:\
|
保存在相应的虚拟主机下建立测试文件进行测试。