`
lutian1984
  • 浏览: 5732 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

apache+tomcat 二级域名+url重写

阅读更多

今天晚上折腾了一晚上终于把我们网站的二级域名问题和二级域名相关的问题解决了。并更新上去了。 呵呵,小小总结一下。

 

第一部分,我的二级域名转向是在apache上配置的(其中的规则把我折腾了好几天)。

<VirtualHost *:80>
   # JkMount /* worker1(用这个不能实现二级域名跳转,只有分着jKmount 才能行,原因不明。自己认为是如设置成该种形式,表示所有的情况都给tomcat处理,包括二级域名的解析)
    JkMount /dwr/* worker1
    JkMount /dwr/interface/* worker1   
    JkMount /*.jsp worker1
    JkMount /*.do worker1
    JkMount /*.html worker1
    JkMount /*.htm worker1
    DirectoryIndex index.jsp index.html
    <Directory "/usr/apps/apache-tomcat-6/apps/ROOT">
        Options Indexes FollowSymLinks
        AllowOverride none
        Order allow,deny
        Allow from all
    DirectoryIndex index.jsp index.html welcome.jsp
 
  
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^(www|web)\.automation\.com\.cn$
    RewriteRule ^/?$ /%{HTTP_HOST} (这一步很重要是把url链接改变成隐含参数的/bd.automation.com.cn的形式)
    RewriteRule ^/bd\.automation\.com\.cn$ /industry.do?method=showIndustry&industryname=louyu [L]

    RewriteCond %{HTTP_HOST} !^(www|web)\.automation\.com\.cn$
    RewriteRule (.*) /%{HTTP_HOST}/$1(这里url链接里面的参数是显示的,所以可以在下面那个规则中得到。这里费了我很长时间,真的觉得自己很笨,呵呵!)
    RewriteRule ^/bd\.automation\.com\.cn/([a-zA-Z]+)$ /industry.do?method=getList&mainname=louyu&name=$1 [L]
    </Directory>
 ServerAdmin shiguoying@yeah.net
    DocumentRoot "/usr/apps/apache-tomcat-6/apps/ROOT"
    ServerName www.automation.com.cn
    ServerAlias automation.com.cn
    ErrorLog "logs/www.automation.com.cn-error_log"
    CustomLog "logs/www.automation.com.cn-access_log" common
  </VirtualHost>

第二部分:在程序中用urlrewriter。jar包重写。其中和二级域名系相关的规则是

<rule>
        <condition  name="host">bd.automation.com.cn</condition>(这一点很重要,只有在匹配二级域名的时候起作用)
        <from>^/-do--list--id-(\d+).html$</from>
        <to>/communityDetail.do?method=showArticleList&amp;id=$1</to>
    </rule>

第三部分:在程序中的链接中用程序控制二级域名相关的链接 用硬连接的形式改写。

public static String getUrl(HttpServletRequest request){
        int ind = request.getRequestURL().toString().indexOf("/", 7);
        String preurl = "";
        if (ind == -1) {
            preurl = "http://www.automation.com.cn";
        } else {
            preurl = request.getRequestURL().toString().substring(0, ind);
        }
        if (preurl.equals("http://bd.automation.com.cn")) {
            preurl = "http://www.automation.com.cn";
        }
        return preurl;
    }

在页面中

if "http://www.automation.com.cn".equals(preurl)

     <a href="http://bd.automation.com.cn">二级域名相关链接</a>

else

    <a>正常没有重新的连接</a>

 

可能我的实现方法不是很好,请高人们指点一下,看看我的实现有什么改进的(一定有,我敢于接板砖!呵呵)?

 

3
1
分享到:
评论
2 楼 C_J 2009-04-23  
apache的poxry能解决这个问题么??
1 楼 黑暗浪子 2009-04-22  
http://www.iteye.com/problems/15323
帮我看看这个问题,为什么用域名上我的网站,只有一台电脑session有效,其他电脑session里的值拿出来都是null?

相关推荐

    二级域名配置工具和配置文件汇总

    动态二级域名配置的关键在于Apache的URL重写模块和Tomcat的连接器配置。模块mod_jk.so是Apache与Tomcat之间的桥梁,用于负载均衡和应用服务器通信。通过正确配置mod_jk,可以实现Apache接收到请求后转发到相应的...

    Apache权威指南第三版

    此外,Apache的模块化设计使得可以通过启用或禁用特定模块来扩展功能,如mod_rewrite用于URL重写,mod_security用于增强安全性。 二、虚拟主机 Apache支持多个网站在同一台服务器上运行,即虚拟主机。书中会介绍...

    ApacheHTTP服务器2.0中文参考手册

    它提供了许多功能,包括但不限于动态内容服务、虚拟主机、URL重写、安全套接层(SSL)支持以及对多种编程语言和框架的集成。2.0版本是一个重要的里程碑,引入了许多改进和新特性,比如模块化设计、更好的多线程支持...

    apache中文参考守册

    3. **URL重写**:通过使用模块mod_rewrite,Apache可以进行URL重写,这对于搜索引擎优化(SEO)和创建简洁的URL非常重要。重写规则写在`.htaccess`文件中,可以根据需要更改请求的路径。 4. **安全设置**:Apache的...

    JEECMS站点群配置.zip

    2. URL重写:利用Apache的mod_rewrite模块,可以实现友好的SEO优化URL。 3. 数据隔离:每个站点的数据应独立,避免相互影响,可以通过数据库设计或JEECMS的权限控制实现。 总结来说,"JEECMS站点群配置.zip"提供了...

    三大WEB服务器对比分析(apache-apache-nginx)

    - **丰富的模块支持**:支持多种高级功能,如FastCGI、CGI、身份验证(Auth)、输出压缩(output compression)、URL重写、别名(Alias)等。 **FastCGI优势**: 1. **稳定性**:FastCGI采用独立的进程池运行,即使某个...

    实战Nginx.取代Apache的高性能Web服务器.2010

    - **支持Rewrite重写规则**:Nginx支持URL重写,这在进行网站迁移或者调整URL结构时非常有用。 - **内置健康检查功能**:Nginx具有内置的健康检查机制,可以自动检测后端服务器的状态并作出相应的调整,提高了系统...

    JSP 页面中用绝对路径显示图片

    URL重写可以通过Apache的mod_rewrite模块或nginx的rewrite规则实现,使得动态和静态资源的请求路径更加清晰。CDN则可以将静态资源分发到全球各地的边缘节点,减少延迟,提高用户体验。 总结来说,JSP中使用绝对路径...

    小白入门linux入门到高级全套案例

    - Rewrite规则: 使用重写规则实现URL重定向等功能。 - **Rsync同步服务器**: - 基于SSH的同步: 使用SSH密钥进行安全的数据同步。 - 实时同步配置: 实现实时数据同步的功能。 - **Tomcat/Resin JAVA服务器**: - ...

    Nginx高性能WEB服务器系列(超级详细)

    - **重写规则**:使用 `rewrite` 指令来改变 URL 的路径,实现 URL 重定向或重写。 - **负载均衡**:通过 `upstream` 指令定义一组后端服务器,使用 `proxy_pass` 将请求转发至后端服务器组。 - **缓存策略**:使用 ...

    Web服务器搭建工具

    2. URL重写:利用服务器的重写规则,可以实现更友好的URL结构和SEO优化。 3. 静态化:将动态页面转换为静态HTML,提高网站访问速度和稳定性。 4. 日志分析:通过分析服务器日志,了解网站访问情况,优化性能。 ...

    Web安全面试题及答案

    6. **二级域名**: 收集所有相关的二级域名,并检查它们的安全状态。 7. **防火墙**: 了解目标网站所使用的防火墙类型及其配置,可以帮助找到绕过策略。 8. **维护者信息**: 获取维护者的联系方式、社交媒体账号等,...

    nginx服务器

    6. **URL重写**:Nginx支持URL重写规则,可以方便地实现URL的美化,提升用户体验。 7. **限速与限流**:可以设置速率限制策略,防止恶意用户对服务器造成过大压力。 **配置文件与指令** Nginx的配置主要通过`...

    web server

    1. 模块扩展:Apache支持多种模块,如mod_rewrite用于URL重写,mod_security提供安全防护。Nginx则通过模块化的架构实现功能扩展。 2. 负载均衡:当流量增大时,可以配置负载均衡器分发请求到多台服务器,提高系统...

    nginx-1.25.4.tar

    2. **反向代理**: 作为反向代理服务器,Nginx 可以接收客户端的请求,然后转发给后端的应用服务器(如 Apache、Tomcat),并将返回的结果传递回客户端,提高了系统的可扩展性和负载均衡能力。 3. **负载均衡**: ...

    Jetty权威指南.pdf

    - **URL重写**:通过在URL中添加会话ID来实现会话跟踪。 **12.2 集群** 对于高可用性和负载均衡的需求,Jetty支持会话复制,通过在多个Jetty实例之间复制会话数据,实现应用的水平扩展。 #### 十三、性能优化 **...

Global site tag (gtag.js) - Google Analytics