Webapp2 имеет встроенный обработчик перенаправления
Не нужно накатывать свой собственный обработчик; Webapp2 уже поставляется с одним.
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)
Аргумент _uri - это то, что класс RedirectHandler использует для определения места назначения. Google Fu потребовалось много времени, чтобы найти документацию по этому вопросу, но она отлично работает в моем приложении.
Обновление:
Я предполагаю, что вы знаете об этом, но вам нужно изменить маршрут для всех:
- url: /
static_dir: static
Кому (версия python27):
- url: /.*
script: main.application
Или: (до Python27 версия)
- url: /.*
script: main.py
main.py - это файл, содержащий обработчик запроса + маршруты.
Примечание. В GAE нет единственного способа обработки перенаправлений из-за природы статических файлов. По сути, нет никакого способа сделать перенаправление в app.yaml в одиночку.