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的最佳方法