龙卷风:如果用户不输入,如何添加 www

tornado: how to add www if user doesn't type

我正在使用带有 python 的 Tornado 来构建 Web 服务器。我想让用户不要输入 www.

例如,如果用户键入example.com访问我的网页,我想为用户添加www。换句话说,如果用户在他的浏览器中键入 example.com 并键入 "Enter",则会在 example.com.
[=23 前面自动插入一个 www =]

这是我现在的代码:

application.add_handlers(r"^(www).*", [(r"/$", IndexHandler)])

使用上面的代码,如果用户访问 www.example.com,class IndexHandler 将获取请求并呈现索引页面 (self.render('/index.html'))。

然后我试过这样:

application.add_handlers(r"^(example).*", [(r"/$", RedirectionHandler)])


class RedirectionHandler(tornado.web.RequestHandler):
    def get(self):
        self.redirect('www.example.com')

嗯,它不起作用,因为 self.redirect 给了我 example.com/www.example.com

seft.redirect('http://www.example.com')

一般来说,在任何语言中,当您重定向纯文本时,系统都认为它是相对的 url 并尝试 append/complete url 与已键入的现有主机名 url(这里是example.com)。

http(s)://放在开头表示地址是绝对的,所以你从头开始重写所有地址。