如何使用 Play 设置从 www 到非 www 的重定向! Java 2.3 运行 默认服务器?
How do you set up a redirect from www to non-www with Play! Java 2.3 running the default server?
我最近建立了一个网站,并使用 Digital Ocean 将其投入生产。但是,我注意到为了 SEO 目的和使 Facebook Share 正常工作,我应该设置我的服务器以重定向 www.对非 www 的请求。我是 运行 玩! Java 2.3 使用 PostgreSQL 数据库和默认的 Netty 服务器。任何建议将不胜感激。
正确的做法不是在 framework/webserver 端,而是在 DNS 服务器端。
您可以在 GoDaddy 或任何其他域名注册商的 DNS 管理区域中进行。
重定向的方式有很多种。我不会说 DNS 重定向是正确且唯一的方法,它只是一种方法。 Google 可以使用 Play 进行 301 重定向。
这是使用 Play 完成它的一种方法!过滤器(scala):
object NonWwwFilter extends Filter {
def apply(f:RequestHeader => Future[Result])(rh: RequestHeader): Future[Result] =
if (rh.host.startsWith("www.")) {
Future.successful(Results.MovedPermanently("https://" + rh.host.substring(4) + rh.uri))
} else {
f(rh)
}
}
我最近建立了一个网站,并使用 Digital Ocean 将其投入生产。但是,我注意到为了 SEO 目的和使 Facebook Share 正常工作,我应该设置我的服务器以重定向 www.对非 www 的请求。我是 运行 玩! Java 2.3 使用 PostgreSQL 数据库和默认的 Netty 服务器。任何建议将不胜感激。
正确的做法不是在 framework/webserver 端,而是在 DNS 服务器端。
您可以在 GoDaddy 或任何其他域名注册商的 DNS 管理区域中进行。
重定向的方式有很多种。我不会说 DNS 重定向是正确且唯一的方法,它只是一种方法。 Google 可以使用 Play 进行 301 重定向。
这是使用 Play 完成它的一种方法!过滤器(scala):
object NonWwwFilter extends Filter {
def apply(f:RequestHeader => Future[Result])(rh: RequestHeader): Future[Result] =
if (rh.host.startsWith("www.")) {
Future.successful(Results.MovedPermanently("https://" + rh.host.substring(4) + rh.uri))
} else {
f(rh)
}
}