用vhost.map 实现APACHE虚拟主机方式(win7环境下)

来源:互联网 发布:手机京东秒杀抢购软件 编辑:程序博客网 时间:2024/05/02 07:51

在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:\WorkSpacea\site2
 
127.0.0.3 d:\WorkSpacea\site3

保存在相应的虚拟主机下建立测试文件进行测试。

0 0