apache2.2+tomcat6 泛域名解析问题小弟,apache2.2+tomcat6 整合后成功配置了多个二级域名和主机,现在正想做个博客系统,想给每个用户通过二级域名的形式给他一个地址,如http://用户名.wyh.com,再转发给http://blog.wyh.com/home.action?user=用户名我在网上参照了好多泛域名解析的文章,但是还是解析不成功,浏览器没有转发,下面把我做的一些流程列出来,望高人指点。前提:我已经整合好了apache+tomcat的结合。
由于在本地运行测试,所以我
首先在windows 的 hosts文件配置了本地域名,在apache的http.conf文件LoadModule rewrite_module modules/mod_rewrite.so前面的#去掉,仿照网上文章,在extra/httpd-vhosts.conf文件配置虚拟主机如下:
<VirtualHost *:80>
   ServerAdmin [email protected]
    DocumentRoot F:/host/blog/ 
    ServerName blog.wyh.com
    ErrorLog logs/dummy-host2.wyh.com-error_log
    CustomLog logs/dummy-host2.wyh.com-access_log common
</VirtualHost><VirtualHost *:80>
   ServerAdmin [email protected]
    DocumentRoot F:/host/blog/ 
    ServerName *.wyh.com
    ErrorLog logs/dummy-host2.wyh.com-error_log
    CustomLog logs/dummy-host2.wyh.com-access_log common
    RewriteEngine On
    # 下面四行实现动态解析
    RewriteCond %{HTTP_HOST} ^[a-z0-9-]+.wyh.com$
    RewriteRule ^/(.*)$ /%{HTTP_HOST}/$1
    RewriteRule ^/([a-z0-9-]+).wyh.com/?$ /home.action?user=$1 [L,PT]
    RewriteRule ^/([a-z0-9-]+).wyh.com/(.*)?$ /home.action?user=$1&$3 [L,PT]
</VirtualHost>重启后当我输入http://daheng.wyh.com后没有任何反应,也没有转发?什么原因?

解决方案 »

  1.   

    <VirtualHost *:80>
      ServerAdmin [email protected]
        DocumentRoot F:/host/blog/
        ServerName blog.wyh.com
        ServerAlias  *.wyh.com

        ErrorLog logs/dummy-host2.wyh.com-error_log
        CustomLog logs/dummy-host2.wyh.com-access_log common
        RewriteEngine On
        # 下面四行实现动态解析
        RewriteCond %{HTTP_HOST} ^[a-z0-9-]+.wyh.com$
        RewriteRule ^/(.*)$ /%{HTTP_HOST}/$1
        RewriteRule ^/([a-z0-9-]+).wyh.com/?$ /home.action?user=$1 [L,PT]
        RewriteRule ^/([a-z0-9-]+).wyh.com/(.*)?$ /home.action?user=$1&$3 [L,PT]
    </VirtualHost> 对着红色修改下
      

  2.   

    你做了泛域名解析了吗?去域名管理的DNS那里做一下才行。
    参考我的这个实现。 http://blog.csdn.net/java2000_net/archive/2008/05/20/2462926.aspx
      

  3.   

    java2000_net兄弟,我在网上参考的就是你的资料,
    可是还是实现不了啊?
    我在windows 的 hosts文件配置了本地域名, 请问一下”去域名管理的DNS那里做一下才行“ ,要去哪做啊?在hosts里设置了不可以吗?谢谢你的文章啊。。可是我还没有搞出来啊。
      

  4.   

    在本地通过host文件指定的域名解析啊....那就没法泛域名了。
    假设你访问222.wyh.com, 那么你自己在host中加上  localhost   222.wyh.com
    然后再访问吧。泛域名解析是要首先通过DNS服务将*.wyh.com (*通配符)都指定到一个ip地址上的。
      

  5.   

    还是不行啊。。
    在host里配置了127.0.0.1   www.wyh.com
    并且在dns也增加了泛域名解析功能,ping xxx.wyh.com都成成功。
      

  6.   

    还是不行啊。。
    在host里配置了127.0.0.1   www.wyh.com
    并且在dns也增加了泛域名解析功能,ping xxx.wyh.com都成成功。
      

  7.   

    我在浏览器里输入xxx.wyh.com却没有任何反应。。
    为什么啊?
      

  8.   

    做好了泛域名解析,去掉配置文件中的动态解析,然后
    在ServerName blog.wyh.com下加上
    ServerAlias  *.wyh.com假定你访问blog.wyh.com的入口为index.jsp在jsp中forward到home.action上,同时在action中通过方法
    request.getServerName();可以得到*.wyh.com
    然后你自己截取下就得到需要的用户名了
      

  9.   

    楼上的兄弟,我已经按你说的加上 了,,去掉配置文件中的动态解析,是指windows里的host文件里的吗?
    能不能留下你的qq号啊。。我搞了好久都没有搞出来,帮帮哦。
    我的qq号:80197103
      

  10.   

    加你QQ了。
    去掉解析是指你httpd.conf文件中的。