龙卷风:如果用户不输入,如何添加 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)://
放在开头表示地址是绝对的,所以你从头开始重写所有地址。
我正在使用带有 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)://
放在开头表示地址是绝对的,所以你从头开始重写所有地址。