java代码实现网站url的301跳转

来源:V型知识库 2018年09月16日 11:11 浏览:3020

最近浏览本人网站,利用谷歌的站长工具,发现谷歌警告提示网站存在大量重复页面,什么是重复页面呢,意思就是两个不同的url指向同一个内容的页面,由于本网站是自己写的,所以就去查了下重复的页面,发现确实存在这样的情况,是由于编程失误导致的,例如https://www.vxzsk.com/2/cate.html ,https://www.vxzsk.com/15.html 上述两个url实际上指向的是同一个页面,这样谷歌把两个url收录了之后发现内容重复,对此非常不友好。

首先想到的解决办法就是利用前置应用服务器nginx来解决,故折腾了一个多小时,非常遗憾,没有配置成功,以前用nginx做过http和https的301跳转,而这次要做全url跳转,有所不同,没有成功后,然后想到利用java代码来实现301的跳转,发现java代码实现301跳转非常简单,故分享给大家。

解决办法:

https://www.vxzsk.com/2/cate.html 301到 https://www.vxzsk.com/15.html

//301跳转
response.setStatus(301);//设置301状态
String requestUrl = "https://www.vxzsk.com/15.html";//新的地址
response.setHeader("Location", requestUrl);
response.setHeader("Connection", "close");
//301跳转 结束
return null;

如上述代码,第2行代码设置301状态码,

3行代码为要301重定向的新url地址,如果有大量url跳转,此地址根据业务逻辑可更改成动态的。

当用户请求cate.html的时候,执行上述代码便会301重定向到15.html上。

利用站长工具http状态查询效果如下: