阿里云与tomcat实现301重定向
来源:互联网 发布:淘宝退货填单号页面 编辑:程序博客网 时间:2024/06/03 13:53
何为301 重定向?
301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。如下图所示:
该文章所涉及内容均以网站www.xinkedai.com为例
正常未重定向时结果:
重定向时结果
为什么要做301重定向?
网站在做域名解析时,经常会解析2个域名,即带www的和不带www的。这样做的目的是,当用户使用不带www的域名时,也可以正常访问你的网站。但是这样做的后果是,你站点主域名的pr值分散到其他几个URL上了。因为在搜索引擎看来,带www和不带www的URL是2个完全不同的URL,当它们指向同一个网站时,会让搜索引擎不懂应该选择哪一个URL作为主要的域名。
如果你用301重定向把其他几个URL如xinkedai.com转到www.xinkedai.com时,相应的PR也就集中在主域名:www.xinkedai.com上了。
参考其他博客使用urlRewriteFilter没有成功实现,现在用servlet的filter技术来实现301重定向,当然xinkedai.com现在也是这样实现的。
第一步:创建filterimport java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class WwwFilter implements Filter {
private StringoriginUrl;
private StringtargetUrl;
public void init(FilterConfig filterConfig) throws ServletException {
this.originUrl =filterConfig.getInitParameter("originUrl");//来源url
this.targetUrl =filterConfig.getInitParameter("targetUrl");//目标url
}
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
String hostName =req.getServerName();
if (hostName.startsWith(originUrl)) {
HttpServletResponse response = (HttpServletResponse) resp;
HttpServletRequest httpRequest = (HttpServletRequest) req;
String queryString = (httpRequest.getQueryString() ==null ?"" : "?" +httpRequest.getQueryString());
response.setStatus(301);
String requestUrl =httpRequest.getRequestURL().toString();
requestUrl =requestUrl.replace(originUrl,targetUrl);
response.setHeader("Location",requestUrl +queryString);
response.setHeader("Connection","close");
} else {
chain.doFilter(req,resp);
}
}
}
第二步 :web.xml文件中配置filter
<filter>
<filter-name>WwwFilter</filter-name>
<filter-class>com.dept.web.general.interceptor.WwwFilter</filter-class>
<init-param>
<param-name>originUrl</param-name>
<param-value>xinkedai.com</param-value>
</init-param>
<init-param>
<param-name>targetUrl</param-name>
<param-value>www.xinkedai.com</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>WwwFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
阿里云域名配置处需要添如解析:
记录值对应网站IP
需要
- 阿里云与tomcat实现301重定向
- 阿里云tomcat实现301重定向
- 阿里云Nginx服务器配置301重定向
- tomcat配置301重定向
- tomcat配置301重定向
- .htaccess实现301重定向
- php实现301重定向
- nginx实现301重定向
- .htaccess实现301重定向
- PHPweb实现301重定向
- PHP实现301重定向
- tomcat重定向
- tomcat重定向方法
- tomcat如何重定向
- tomcat域名重定向
- tomcat域名重定向
- Apache服务器实现301重定向 iis7 301重定向
- 301永久重定向实现方式及302重定向
- Lua中文教程学习笔记 (2) 表达式
- 设置元素的盒类型+创建浮动盒
- HDU 1527 取石子游戏
- HDU 5834 Magic boy Bi Luo with his excited tree (树形DP)
- 浙大PAT甲级 1031
- 阿里云与tomcat实现301重定向
- java实现堆排序(2016年腾讯内推笔试的一道算法题)
- java编程自学记录(day09)
- 经典算法学习——在O(1)时间删除链表节点
- java wait和notify及 synchronized sleep 总结
- 算法竞赛入门经典-STL数据结构的使用
- Mysql笔记-事务
- 树形DP______Rebuilding Roads( POJ 1947 )
- ie浏览器(包括微软的最新的edge)最ajax请求具有缓存机制