首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

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

2012-11-01 
Apache配置假的二级域名转发(一)Apache配置假的二级域名转发(一)我下载的apache版本是 apache_2.0.59-win3

Apache配置假的二级域名转发(一)
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



热点排行