Google App Engine中的漂亮url

我想将参数’A1B2C3’传递给基于Google App Engine的GWT应用程序。 我这样做就像www.example.com/index.html?key=A1B2C3。 虽然它有效,但我想使用漂亮的URL。 是否可以在Google App Engine上进行URL重写? 我怎么也找不到。

www.example.com/A1B2C3 

代替

 www.example.com/index.html?key=A1B2C3 

我正在使用Google App Engine和GWT。 全部是Java。

这是一个很酷的问题。 我也想出了如何为python做这件事。

app.yaml中:

 - url: /test/(.*) script: test.py \1 

test.py:

 #!/usr/bin/env python import sys def main(): for arg in sys.argv: print arg if __name__ == '__main__': main() 

您需要配置应用程序(请参阅此处 )。 换句话说,您需要“连接”您想要的模式。

从手册中,举例:

  redteam /red/*   blueteam /blue/*  

试试UrlRewriteFilter: http : //tuckey.org/urlrewrite/ (或github repo )它是一个简单的’Java EEfilter,所以它应该工作。

节省一些时间并使用Restlet。 你可以做到这一点,我已经在两个不同的项目中做到了这一点。 这很直截了当。 如果您需要帮助,请告诉我。

我可能会使用PrettyFaces, http: //ocpsoft.com/prettyfaces/,它允许您直接在现有应用程序上进行URL映射。

您只需在pretty-config.xml文件中配置如下内容:

     

或者,如果要重写参数,可以执行以下操作:

     

这意味着任何url(入站)现在变为:

 /my/pretty/url/value -> /my/existing/url?param=value 

在HTML网页和重定向中,您的url出站将如下所示:

 /my/existing/url?param=value -> /my/pretty/url/value 

所以很容易添加到您当前的应用程序。

这是另一个我认为可以真正帮助你的项目:

它被称为restful-gwt ……它也很漂亮: http : //code.google.com/p/restful-gwt/

祝你好运!

这是我到目前为止实现URL重写GAE Python的最佳方法