Apache配置假的二级域名转发(一)

本文介绍如何使用Apache 2.0.59配置假的二级域名转发至特定服务器地址。通过修改httpd.conf文件实现URL重写,使不同二级域名指向同一服务器的不同应用入口,并在本地HOSTS文件中进行相应配置。
Apache配置假的二级域名转发(一)

我下载的apache版本是 apache_2.0.59-win32-x86-no_ssl.msi
不是最新的,不过貌似最新的和jboss配置转发的时候,要对应一下版本,所以就随便找了个比较旧的。
jboss用的是4.2

安装好apache后,找到httpd.conf这个文件,对其中的配置做一些修改,如果没有对应的配置,那么新增httpd.conf:

LoadModule rewrite_module modules/mod_rewrite.so #打开了URL重写

ServerName sillycat.com:80

UseCanonicalName Off

DocumentRoot "E:/project/ipcamera/pages" #配置指向自己的静态页面

<Directory "E:/project/ipcamera/pages">

ProxyPass /ipcamera http://192.168.10.103:8080/ipcamera
ProxyPassReverse /ipcamera http://192.168.10.103:8080/ipcamera

RewriteEngine on #打开URL重写
RewriteCond %{HTTP_HOST} ^([a-z0-9\-]+)\.sillycat\.com$ #配置HOST里面的东东,比如www.sillycat.com
#RewriteCond %{HTTP_HOST} !^(www)\.sillycat\.com$ #配置为www打头就不去URL重写
RewriteCond %{REQUEST_URI} !^/images(.*)$ #REQUEST_PATH中/images不重写
RewriteCond %{REQUEST_URI} !^/style(.*)$
RewriteCond %{REQUEST_URI} !^/js(.*)$
RewriteCond %{REQUEST_URI} !^/script(.*)$
RewriteCond %{REQUEST_URI} !^/(.*)\.html$ #REQUEST_PATH中静态部分不用重写
RewriteRule (.*) /%{HTTP_HOST}/$1 #将匹配内容放在PATH中
#比如www.sillycat.com重写后www.sillycat.com/www.sillycat.com
# hs.silycat.com 重写后hs.sillycat.com/hs.sillycat.com
RewriteRule /([a-z0-9\-]+)\.sillycat\.com/(.*)$ /ipcamera/user.do?method=testSiteMesh&dName=$1 [L,R]
#匹配规则后,分别重写成为www.sillycat.com/ipcamera/user.do?method=testSiteMesh&dName=www
# hs.sillycat.com/ipcamera/user.do?method=testSiteMesh&dName=hs

这样的话应用就通过dName这个参数得到了你的二级域名,后面怎么处理就看你的需求和你的user.do里面怎么写咯。
另外,如果本机测试,HOSTS文件不能支持泛解析,所以只能在HOSTS文件中做如下修改:
192.168.10.103 www.sillycat.com
192.168.10.103 hs.sillycat.com
这样才能测试通过。当然发布出去了以后,发布服务器肯定是支持类似这样的配置
192.168.10.103 *.sillycat.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值