java2000.net的专栏

愿为喜欢Java的朋友提供一点帮助

赵学庆ID:java2000_net
168209次访问,排名440好友59人,关注者0
Enjoy Java, Enjoy Everyday!
欢迎加入 java2000.net
java2000_net的文章
原创 161 篇
翻译 0 篇
转载 14 篇
评论 639 篇
老紫竹的公告
最近评论
QQ394174300:学习下
chenhongxin:顶,祝老哥早日成功...
hchoog:
Simfighter:很好。但是不是很标准。
VBDONET:一直以为竹子老兄和我们年龄差不多呢。
现在看来是饱经沧桑啊,老实说,这么丰富的人生阅历,很多人想要都没有呢,我很羡慕。。。
这么多挫折积累下的淡定从容,可不是哪个做技术的人都有的,竹子老兄加油!!!
文章分类
收藏
    相册
    公告
    技术文章
    其它
    新春
    友情链接
    JAVA世纪网
    关文柏的专栏
    陈绍英-性能测试实战
    陈跃峰老师的博客
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 Apache和Tomcat 实现泛域名解析的尝试收藏

    新一篇: Eclipse使用Axis生成WebService客户端的过程 | 旧一篇: 2008年5月19日14:28,Java非技术版祝福分的汇总

    原文:http://www.java2000.net/viewthread.jsp?tid=5422

    你想让自己的服务器为每个会员提供一个独立的二级域名吗?比如
    aa.test.com
    bb.test.com/blog
    当然aa、bb都是你的一个会员而已

    下面是我今天尝试成功的部分

    1 安装apache ,tomcat 和 mod_jk部分我就不说了,如果你不能使用它们,请参考其它教程

    2 相关的配置文件

    httpd.conf

     
    # 去掉这个前面的#
    ,启用它
    LoadModule rewrite_module modules/mod_rewrite.so
     
    # 启用jk
    ,同时配置参数
    LoadModule   jk_module   modules/mod_jk.so       
    JkWorkersFile   D:/Apache2
    .2/conf/workers.properties     
    JkLogFile   d:/Apache2
    .2/logs/mod_jk.log     
    JkLogLevel   info   
    #JkLogLevel   debug     
    JkLogStampFormat   
    "[%a   %b   %d   %H:%M:%S   %Y]   "     
    JkOptions   +ForwardKeySize   +ForwardURICompat   -ForwardDirectories     
    JkRequestLogFormat   
    "%w   %V   %T"     
    JkMount   /servlet/*   myloadbalancer   
    JkMount   /*.jsp   myloadbalancer
     
    # 虚拟主机,这里模拟了 a.test.com 和 b.test.com 以及 a.tst.com/blog的调用
     
    <VirtualHost _default_:
    80>
    ServerAdmin yourmail@domain.com
    DocumentRoot D:Apache2
    .2htdocs
    ServerName all-sites
    ErrorLog logs/all-sites-error.log
    CustomLog logs/all-sites-access.log common
    RewriteEngine On
    # 下面四行实现动态解析
    RewriteCond %{HTTP_HOST} ^
    [a-z0-9-]+.test.com$
    RewriteRule ^/(.*)$ /%{HTTP_HOST}/$
    1
    RewriteRule ^/(
    [a-z0-9-]+).test.com/?$ /index.jsp?u=$1 [L,PT]
    RewriteRule ^/(
    [a-z0-9-]+).test.com/blog(/(.*))?$ /blog.jsp?u=$1&$3 [L,PT]

    <Directory 
    "D:Apache2.2htdocs">
        Options FollowSymLinks
        AllowOverride None
        Order allow
    ,deny
        Allow from all
    </Directory>

    </VirtualHost>

    workers.properties

      worker.list=myloadbalancer   
        
      worker.tomcat1.type
    =ajp13   
      worker.tomcat1.host
    =localhost   
      worker.tomcat1.port
    =8009   
      worker.tomcat1.lbfactor
    =1   
          
        
      worker.myloadbalancer.type
    =lb   
      worker.myloadbalancer.balance_workers
    =tomcat1   
      worker.status.type
    =status  

    server.xml 
    去掉前后的<!-- 和 -->启用 8009端口

     <Connector port="8009" 
    ...

    3 说明一下

    在httpd.conf里面启用了rewrite_module,和 mod_jk, 并配置了 与tomcat的连接配置。

    虚拟主机的配置是关键

    ServerName all-sites
    可以修改为
    ServerName test.com
    ServerAlias *.test.com
    这样可以明确指定这个虚拟主机负责的域名

    urlRewrite 配置部分

    1. RewriteCond %{HTTP_HOST} ^[a-z0-9\-]+\.test\.com$   
    2. RewriteRule ^/(.*)$ /%{HTTP_HOST}/$1  
    3. RewriteRule ^/([a-z0-9\-]+)\.test\.com/?$ /index.jsp?u=$1 [L,PT]   
    4. RewriteRule ^/([a-z0-9\-]+)\.test\.com/blog(/(.*))?$ /blog.jsp?u=$1&$3 [L,PT]   

    第一行,声明这个重写只对主机名(%{HTTP_HOST}) 类似 XXXX.test.com  感兴趣,那个是正则的

    第二行,将所有的对此域名的请求进行第一次改写,比如
    a.test.com 改成
    /a.test.com


    b.test.com/blog 改成
    /b.test/com/blog

    第三行,对无参数的访问进行调整
    将 /a.test.com 改成
    /index.jsp?u=a

    第四行,对有参数路径的进行调整
    将 /b.test.com/blog 改成
    /blog.jsp?u=b

    如果还有参数比如
    b.test.com/id=3 则最终改写为
    /b.test.com/id=3
    /blog.jsp?u=b&id=3

    剩下的就不多说了!







    发表于 @ 2008年05月20日 16:51:00|评论(loading...)|收藏

    新一篇: Eclipse使用Axis生成WebService客户端的过程 | 旧一篇: 2008年5月19日14:28,Java非技术版祝福分的汇总

    评论

    #silence1214 发表于2008-05-22 02:19:59  IP: 125.70.254.*
    早都尝试过并且成功了
    #zhao_believe 发表于2008-05-23 16:29:24  IP: 218.17.67.*
    受教了。。谢谢
    #fulehua 发表于2008-05-25 09:49:02  IP: 221.218.46.*
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 老紫竹