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

Li当春乃发生

Li当春乃发生

2016-02-19 11:09

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的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-nameUrlRewriteFilter/filter-name
filter-class
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
/filter-class
/filter
filter-mapping
filter-nameUrlRewriteFilter/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的效率还是不错的
第三种最灵活,一般简单的应用可以用这个。
展开更多 50%)
分享

猜你喜欢

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

Web开发
jsp网站永久换域名的处理过程

影楼照片的ps后期调色处理过程

电脑网络
影楼照片的ps后期调色处理过程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Photoshop淘宝T恤的后期处理过程

电脑网络
Photoshop淘宝T恤的后期处理过程

Photoshop详细解析淘宝T恤的后期处理过程

PS PS基础
Photoshop详细解析淘宝T恤的后期处理过程

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用JavaScript事件串连执行多个处理过程的方法

Web开发
用JavaScript事件串连执行多个处理过程的方法

各地准生证办理过程

准生证
各地准生证办理过程

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

网页设计学习XHTML应用小结

网页设计学习XHTML应用小结

C#中控制远程计算机的服务的方法

C#中控制远程计算机的服务的方法
下拉加载更多内容 ↓