我在GAE / J中有应用程序,我的应用程序url在谷歌索引如下 -
http://myapp.appspot.com/view/121200/this-is-test/
每当用户点击此网址时,我想将用户重定向到我的自定义域,即请求应重定向到..
http://www.mydomain.com/view/121200/this-is-test/
/ view是映射的servlet,它在用户点击上面的url时获得控制权,所以我不确定我是否可以通过检测req.getServerName()来实现重定向,然后如果ServerName是“myapp.appspot.com”重定向到“ www.mydomain.com“
请告知实现此目的的最佳方法,如果您需要代码段,请告诉我们。
答案 0 :(得分:0)
你能不能
resp.sendRedirect("http://www.mydomain.com/view/121200/this-is-test/");
如果你想测试你是否在AppEngine上运行,请尝试在try / catch块中使用AppEngine类。
try {
if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Production) {
resp.sendRedirect("http://www.mydomain.com/view/121200/this-is-test/");
} else {
// running on dev server
}
}
catch (Exception e) {
// not running on appengine
}
答案 1 :(得分:0)
你应该SEO-friendly redirects,HTTP 307而不是HTTP 301。
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
// note this does not include query parameters, i.e. ?a=123
response.setHeader("Location", "http://www.mydomain.com"+.getRequestURI());