最近浏览本人网站,利用谷歌的站长工具,发现谷歌警告提示网站存在大量重复页面,什么是重复页面呢,意思就是两个不同的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状态查询效果如下: