【发布时间】:2020-02-26 13:32:05
【问题描述】:
我有一个 Tornado 网络应用程序,可以将用户重定向回主页(应用程序的“/”)。然后tornado web 应用程序使用 nginx 作为应用程序之一部署(例如 www.helloworld.com/app),重定向不再有效。下表应描述这种情况。
+-----------------------------+---------------------------------+
| Root URL of tornado app | www.helloworld.com/app |
| Redirect URL | www.helloworld.com/app/redirect |
| Expected URL after redirect | www.helloworld.com/app |
| Actual URL after redirect | www.helloworld.com |
+-----------------------------+---------------------------------+
这是我的重定向处理程序
class RedirectHandler(tornado.web.RequestHandler):
def get(self):
self.redirect(self.reverse_url("index"))
这是我的应用程序
handlers = [
tornado.web.url(r'/', IndexPageHandler, name='index'),
tornado.web.url(r'/redirect', RedirectHandler, name='redirect'),
]
【问题讨论】:
-
当你实际重定向到
/时,为什么你期望登陆/app? -
其实应用是由 nginx 部署在 www.helloworld.com/app 的。但是tornado应用本身并不知道应用的位置。