2010-09-19 115 views
1

我有我的应用程序引擎项目myproject.appspot.com托管在myprojectsdomain.com。我想将myprojectsdomain.com上的所有链接永久重定向到brandNewDomain.com。我在http://code.google.com/p/urlrewritefilter/找到了Java URL Rewrite筛选器,但是我没有看到有关如何将301用于更改域的重定向的文档。所有的例子似乎都是在同一个域中重写url,这对我目前的情况来说并不是很好。我在错误的地方寻找,还是有更好的方式让我永久重定向我的Google App Engine Java项目?谢谢!Google App Engine Java,301重定向URL重写过滤器

回答

1

是的,你正在看错模块。 urlrewritefilter只是在你的servlet看到它之前改变URL(但它仍然会去那个servlet)。它不会做重定向。

您可以通过将所有URL映射到单个servlet(它只是返回重定向响应(response.sendRedirect))来实现此目的。

+0

我可能以混乱的方式陈述了问题。我的网站现在位于la.truxmap.com,我想永久重定向到la.foodtrucksmap.com。也就是说,我想让相同的servlet保持完好,我只是想将这个新域用于SEO目的。 – 2010-09-19 03:31:53

+0

同一App Engine上的两个域?在这种情况下,添加一个过滤器来查看域名是否进入并重定向,如果它不是您想要的域名,那么请求继续。但是你可能应该设置两个不同的应用引擎,每个域名一个。旧的会重新导向新的。 – Thilo 2010-09-20 04:58:28

+0

我花了一段时间阅读有关过滤器,我知道我需要做什么,但我很难找出过滤器应该去的地方。我使用GWT和GAE Java,所以我认为它应该在调用页面加载的servlet之前进行,但这只是扩展了RemoteServiceServlet的RPC servlet。 – 2010-09-20 11:20:37

0

我会用OCPsoft重写此:

随着Rewrite

这里是如何做到这一点使用重写,这是非常可配置的。

ConfigurationBuilder.begin() 
    .defineRule() 
    .when(Domain.matches("myprojectsdomain.com").and(Path.matches("/{1}") 
      .where("1").matches(".*"))) 
    .perform(Redirect.permanent("http://brandNewDomain.com/{1}")); 

我希望这会有所帮助,或者至少提供有关如何使用任何Rewrite工具进行操作的想法。

〜林肯