使用app.yaml在app引擎中指定自定义URL方案?

时间:2010-06-09 06:50:45

标签: python google-app-engine rewrite

我正在尝试使用如下所示的自定义网址:

example.com/site/yahoo.com

会像这样点击这个脚本=

example.com/details?domain=yahoo.com

可以使用app.yaml完成吗?

基本思路是使用输入“yahoo.com”调用“详细信息”

1 个答案:

答案 0 :(得分:4)

您无法真正重写网址本身,但您可以使用正则表达式组来执行类似的操作。

在app.yaml文件中,尝试以下内容:

handlers:
- url: /site/(.+)
  script: site.py

在你的site.py中:

SiteHandler(webapp.RequestHandler):
    def get(self, site):
        # the site parameter will be what was passed in the URL!
        pass

def main():
    application = webapp.WSGIApplication([('/site/(.+)', SiteHandler)], debug=True)
    util.run_wsgi_app(application)

如果请求网址中/site/之后的任何内容都会传递到SiteHandler参数中的get() site方法,则会发生什么情况。从那里你可以在/details?domain=yahoo.com做你想做的任何事情,或者只是重定向到那个URL。