webapp2 a un redirect intégré gestionnaire
Pas besoin de rouler votre propre gestionnaire; webapp2 vient déjà avec un.
application = webapp2.WSGIApplication([
webapp2.Route('/hello', webapp2.RedirectHandler, defaults={'_uri':'http://domain.com'}),
webapp2.Route('/hello28928723', webapp2.RedirectHandler, defaults={'_uri':'http://domain.com'}),
], debug=False)
L'argument _uri est ce que la classe RedirectHandler utilise pour définir la destination. Il a fallu beaucoup de Google Fu pour trouver la documentation à ce sujet, mais cela fonctionne parfaitement dans mon application.
Mise à jour:
Je suppose que vous êtes au courant de cela, mais vous avez besoin de changer votre fourre-tout itinéraire à partir de:
- url:/
static_dir: static
Pour (version python27):
- url: /.*
script: main.application
Ou: (version pré-python27)
- url: /.*
script: main.py
main.py est le fichier contenant le gestionnaire de requêtes + routes.
Remarque: Il n'existe pas de méthode statique uniquement pour gérer les redirections sur GAE en raison de la nature des fichiers statiques. Fondamentalement, il n'y a aucun moyen de faire une redirection dans app.yaml seul.
Cette réponse est incomplète - ce fragment de code est insuffisant en soi pour rediriger reqeusts. Aussi, qu'en est-il des demandes? –
@BrianLeathem Juste posté un [exemple complet] (http://stackoverflow.com/a/18297787/282729). – feklee