demos
demos

Reputation: 2630

Specifying custom URL schema in appengine using app.yaml?

I am trying to have a custom URL which looks like this:

example.com/site/yahoo.com

which would hit this script like this=

example.com/details?domain=yahoo.com

can this be done using app.yaml?

the basic idea is to call "details" with the input "yahoo.com"

Upvotes: 3

Views: 595

Answers (1)

Jason Hall
Jason Hall

Reputation: 20930

You can't really rewrite the URLs per se, but you can use regular expression groups to perform a similar kind of thing.

In your app.yaml file, try something like:

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

And in your 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)

What happens is, whatever you have after /site/ in the request URL will be passed to SiteHandler's get() method in the site parameter. From there you can do whatever it is you wanted to do at /details?domain=yahoo.com, or simply redirect to that URL.

Upvotes: 4

Related Questions