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

在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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值