python-使用app.yaml在appengine中指定自定义URL架构?

我正在尝试使用一个如下所示的自定义URL:

example.com/site/yahoo.com

会像这样=命中这个脚本

example.com/details?domain=yahoo.com

可以使用app.yaml完成吗?

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

解决方法:

您不能真正地重写URL本身,但是可以使用正则表达式组执行类似的操作.

在您的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)

发生的是,在请求URL中/ site /之后的所有内容都将传递到site参数中的SiteHandler的get()方法.从那里,您可以在/details?domain=yahoo.com上执行任何操作,或者直接重定向到该URL.

上一篇:九度OJ1084


下一篇:yii 隐藏index.php