我正在尝试使用一个如下所示的自定义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.