• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    jsp网站永久换域名的处理过程
    1、在tomcat下针对旧域名做个虚拟主机
    首页为index.jsp ,404错误页面为 unfind.jsp
    首页使用301转向,有利于 搜索引擎优化
    %
    response.setStatus(301);
    response.setHeader( "Location","http://***.com");
    response.setHeader( "Connection", "close");
    %>
    unfind.jsp 判断旧页面应该转向的新页面地址,没有则跳到新的页面,这样以前的外链就不受影响了

    %@ page language="java" contentType="text/html; charset=utf-8" isErrorPage="true" pageEncoding="utf-8"%>
    %
    response.setStatus(HttpServletResponse.SC_OK);
    String key = (String) request.getAttribute("javax.servlet.forward.servlet_path");
    String id= request.getParameter("id");
    if (key != null ) {
    int index = key.lastIndexOf("/");
    if (index != -1) {
    key = key.substring(index + 1);
    if (key.startsWith("v")) {
    response.sendRedirect("http://***.com/viewtv/"+ id);
    }
    if (key.startsWith("t")) {
    response.sendRedirect("http://***.com/tv/"+ id);
    }
    }
    }
    response.sendRedirect("http://***.com");
    %>
    参考文章
    转帖自http://blog.csdn.net/lifaming15/archive/2008/10/16/3084282.aspx
    URL重写,其实就是把带一大堆参数的url,变成一个看上去很规矩的url,主要目的是为了搜索引擎。
    举例
    /viewthread.jsp?id=1234
    /viewthread.jsp?id=1235
    /viewthread.jsp?id=1236
    重写后,可以用
    /viewthread/1234.htm
    /viewthread/1235.htm
    /viewthread/1236.htm
    我目前使用Tomcat+Apache,尝试过三种重写的方法
    一、Tomcat的过滤器
    最典型的就是用urlReweite的类库。如果有经验,自己写也不是很麻烦。也可以用现成的开源的免费的urlrewrite filter. http://tuckey.org/urlrewrite/下载
    修改web.xml增加过滤器,然后配置个过滤的规则就可以了
    web.xml修改部分
    !-- Set URL Rewrite-->
    filter>
    filter-name>UrlRewriteFilter/filter-name>
    filter-class>
    org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
    /filter-class>
    /filter>
    filter-mapping>
    filter-name>UrlRewriteFilter/filter-name>
    url-pattern>/*/url-pattern>
    /filter-mapping>
    过滤规则
    ?xml version="1.0" encoding="utf-8"?>
    !DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
    "http://tuckey.org/res/dtds/urlrewrite2.6.dtd">
    urlrewrite>
    rule>
    from>/viewthread/(\d+).htm$/from>
    to>/viewthread.jsp?id=$1/to>
    /rule>
    /urlrewrite>
    二、使用Apache的mod
    # 去掉这个前面的#,启用它
    LoadModule rewrite_module modules/mod_rewrite.so
    VirtualHost _default_:80>
    # 其它的配置数据
    RewriteEngine On
    # 下面三行实现动态解析
    RewriteRule ^/viewthread/(\d+).htm$ /viewthread.jsp?id=$1 [L,PT]
    /VirtualHost>
    三、使用系统的404错误进行
    也就是页面没找到的错误
    实例:
    http://www.xxx.net/f29
    会被自动转发到
    http://www.xxx.net/forumdisplay.jsp?fid=29
    因为系统并不存在f29,所以使用了404的错误处理页面来实现这个功能
    页面代码如下
    查看复制到剪切板打印
    %@ page language="java" contentType="text/html; charset=GBK" isErrorPage="true" pageEncoding="GBK"%>
    %
    response.setStatus(HttpServletResponse.SC_OK);
    String key = (String) request.getAttribute("javax.servlet.forward.servlet_path");
    if (key != null) {
    int index = key.lastIndexOf("/");
    if (index != -1) {
    key = key.substring(index + 1);
    if (key.startsWith("f") || key.startsWith("p")) {
    try {
    long id = Long.parseLong(key.substring(1));
    String url = key.startsWith("f") ? "forumdisplay.jsp?fid=" : "viewthread.jsp?tid=";
    %>
    jsp:forward page="%=url+id%>">/jsp:forward>
    %
    return;
    } catch (Exception ex) {}
    }
    %>
    jsp:forward page="%=response.encodeURL("search.jsp")%>">jsp:param name="keyword" value="%=key %>" />/jsp:forward>
    %
    return;
    }
    }
    %>
    对不起,您请求的页面没有找到!
    总结
    第一种修改麻烦,但对于平稳运行的系统,是个不错的选择
    第二种需要配置Apache,但 Apache的重启速度很快,适合于有可能经常变得情况,而且Apache Mod的效率还是不错的
    第三种最灵活,一般简单的应用可以用这个。
    上一篇:一个通用的jsp分页PageBean
    下一篇:response.setHeader参数、用法的介绍
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    jsp网站永久换域名的处理过程 jsp,网站,永久,换,域名,的,