java – 使用Play 2.0.x进行永久重定向

我想知道如何在Play框架2.0.x中为子域进行永久重定向301.
例如:www.example.com/*重定向到example.com/*.以前有人试过吗?

解决方法

Global object将允许您到 intercept the request.出于显而易见的原因,您应该使用GET请求(即出于搜索引擎优化目的),但其他人,如POST,PUT等应该从视图的开头正确创建.

另一方面,如果只是为生活生产服务常见HTML页面的一些应用程序考虑在它前面使用一些HTTP服务器 – 那么你可以通过一些重写规则来实现.

import play.GlobalSettings;
import play.mvc.Action;
import play.mvc.Http;
import play.mvc.Result;

import java.lang.reflect.Method;

public class Global extends GlobalSettings {

    @Override
    public Action onRequest(final Http.Request request,Method method) {
        if ("GET".equals(request.method()) && "www.example.com".equals(request.host())) {
            return new Action.Simple() {
                public Result call(Http.Context ctx) throws Throwable {
                    return movedPermanently("http://example.com" + request.path());
                }
            };
        }
        return super.onRequest(request,method);
    }
}

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...