谷歌应用程序引擎Java,301重定向和URL重写过滤器

谷歌应用程序引擎Java,301重定向和URL重写过滤器,java,url-rewriting,http-status-code-301,Java,Url Rewriting,Http Status Code 301,我的应用程序引擎项目myproject.appspot.com托管在myprojectsdomain.com上。我想将myprojectsdomain.com上的所有链接永久重定向到brandNewDomain.com。我在上找到了JavaURL重写过滤器,但是我没有看到关于如何使用它进行301重定向以更改域的文档。所有的例子似乎都是为了在同一个域中重写url,在我目前的情况下,这对我没有多大好处。我是找错地方了还是有更好的方法永久重定向我的Google App Engine Java项目?谢谢

我的应用程序引擎项目myproject.appspot.com托管在myprojectsdomain.com上。我想将myprojectsdomain.com上的所有链接永久重定向到brandNewDomain.com。我在上找到了JavaURL重写过滤器,但是我没有看到关于如何使用它进行301重定向以更改域的文档。所有的例子似乎都是为了在同一个域中重写url,在我目前的情况下,这对我没有多大好处。我是找错地方了还是有更好的方法永久重定向我的Google App Engine Java项目?谢谢

是的,您正在查看错误的模块。urlrewritefilter只是在servlet看到它之前更改URL(但它仍然会转到该servlet)。它不执行重定向


您可以通过将所有URL映射到单个servlet来实现这一点,该servlet只返回重定向响应(
response.sendRedirect
)。

是的,您看到的模块是错误的。urlrewritefilter只是在servlet看到它之前更改URL(但它仍然会转到该servlet)。它不执行重定向


您可以通过将所有URL映射到单个servlet来实现这一点,该servlet只返回重定向响应(
response.sendRedirect
)。

我将使用OCPsoft重写:

与:

下面是如何使用“重写”实现这一点,这是非常可配置的

ConfigurationBuilder.begin()
   .defineRule()
   .when(Domain.matches("myprojectsdomain.com").and(Path.matches("/{1}")
          .where("1").matches(".*")))
   .perform(Redirect.permanent("http://brandNewDomain.com/{1}"));
我希望这能有所帮助,或者至少能为如何使用任何重写工具提供一些想法


~Lincoln

我会使用OCPsoft重写来实现:

与:

下面是如何使用“重写”实现这一点,这是非常可配置的

ConfigurationBuilder.begin()
   .defineRule()
   .when(Domain.matches("myprojectsdomain.com").and(Path.matches("/{1}")
          .where("1").matches(".*")))
   .perform(Redirect.permanent("http://brandNewDomain.com/{1}"));
我希望这能有所帮助,或者至少能为如何使用任何重写工具提供一些想法


~Lincoln

我可能以一种令人困惑的方式陈述了这个问题。我的网站现在位于la.truxmap.com,我想永久重定向到la.foodtrucksmap.com。也就是说,我希望相同的servlet保持不变,我只想将新域用于SEO目的。两个域在同一个应用程序引擎上?在这种情况下,添加一个过滤器来查看进入的域,如果它不是您想要的域,则重定向,如果它是您想要的域,则让请求继续。但您可能应该设置两个不同的应用程序引擎,每个域一个。我花了一段时间阅读了有关过滤器的内容,我知道我需要做什么,但是我很难弄清楚过滤器应该放在哪里。我使用的是GWT和GAE Java,所以我认为它应该放在页面加载时调用的servlet之前,但这只是扩展RemoteServiceServlet的RPC servlet。我可能以一种令人困惑的方式陈述了这个问题。我的网站现在位于la.truxmap.com,我想永久重定向到la.foodtrucksmap.com。也就是说,我希望相同的servlet保持不变,我只想将新域用于SEO目的。两个域在同一个应用程序引擎上?在这种情况下,添加一个过滤器来查看进入的域,如果它不是您想要的域,则重定向,如果它是您想要的域,则让请求继续。但您可能应该设置两个不同的应用程序引擎,每个域一个。我花了一段时间阅读了有关过滤器的内容,我知道我需要做什么,但是我很难弄清楚过滤器应该放在哪里。我使用的是GWT和GAE Java,所以我认为它应该放在页面加载时调用的servlet之前,但这只是扩展RemoteServiceServlet的RPC servlet。