我正在尝试使用如下所示的自定义网址:
example.com/site/yahoo.com
会像这样点击这个脚本=
example.com/details?domain=yahoo.com
可以使用app.yaml完成吗?
基本思路是使用输入“yahoo.com”调用“详细信息”
答案 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。