我将旧域中的所有数据移动到新域。许多链接都是由谷歌索引的,对我们来说很重要所以我想重定向301所有链接,如下所示:
my_domain.ir/Server?do=content&id=24
到
my_domain.com/Server?do=content&id=24
以下代码是Server.java,它是一个servlet
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("_______________________________________________");
String url = request.getRequestURL().toString() +"?"+ request.getQueryString();
System.out.println(url);// http://my_domain.ir/Server?do=content&id=24
url = url.replace(".ir", ".com");
url = url.replace("localhost:9090", "mydomain.com");//to test from localhost
System.out.println(url);//http://my_domain.com/Server?do=content&id=24
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location", url);
response.setHeader( "Connection", "close" );
System.out.println("_______________________________________________");
}
打电话后我可以看到http://my_domain.ir我可以看到301重定向代码但是在地址栏中是“http://my_domain.com/Server”而浏览器dos没有打开任何页面。
我尝试将所有内容重定向到http://my_domain.com/index_test.html但效果相同。
对我们来说,保存我在谷歌中的域名位置非常重要,这个问题有害吗?
答案 0 :(得分:0)
只是查了一下,因为我记得这个(从10年前开始),但你可以更容易地重定向:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("_______________________________________________");
String url = request.getRequestURL().toString() +"?"+ request.getQueryString();
System.out.println(url);// http://my_domain.ir/Server?do=content&id=24
url = url.replace(".ir", ".com");
url = url.replace("localhost:9090", "mydomain.com");//to test from localhost
System.out.println(url);//http://my_domain.com/Server?do=content&id=24
response.sendRedirect(url);
System.out.println("_______________________________________________");
}
免责声明:我没有检查您的网址重写是否真的正确。