通过裸域从 phone 访问 flask 中的通配符页面重定向到 searchvity.com

Accessing wildcard page in flask by naked domain from phone redirects to searchvity.com

嗨,我是域名和注册商的新手,只是偶然发现了一个我不知道如何解决的非常奇怪的行为。

我用 flask 建立了一个网站(托管在 PythonAnywhere,domain.com 作为我的注册商)。我在 domain.com 进行了设置,以便裸域重定向到 www. 版本,它适用于我在我的烧瓶中专门定义的站点中的任何页面,例如 @app.route('/something/') .

我不得不稍微调整一下,这样裸域也可以接受它们而没有最后一个斜线,就像这样...

@app.route('/something/')
@app.route('/something')
def something()
    # actual code

...但是,当我尝试通过裸域访问不存在的页面时,在计算机上它不起作用(404 错误,甚至不显示简单的 html页面),在我的 phone 上它显示了一个奇怪的随机页面,闲聊了一下后我意识到是 searchvity.com。我的意思是,我完全不知道这到底是怎么可能的。

此外,所有这一切中最奇怪的部分是我实际上在 flask 中有一个路由应该管理这个(@app.route('/<randomurl>/'),也有和没有斜线),但如上所述,只有在访问 www. 域的版本。

我知道这是一个小问题(因为为什么有人会故意尝试访问一个不存在于裸域中的页面)。但是让我很困扰的是,如果条件给定并且他们来自 phone...,那么某人可能会被重定向到那个随机站点......无论如何,这是一个不应该存在的问题,我不甚至不知道从哪里开始才能修复它。

编辑:现在显然桌面版也显示了同样奇怪的页面。

EDIT2: 我的桌面上只有 404 而不是奇怪的(DNS 欺骗?)页面的原因是 AdBlock。

EDIT3: 当问题发生时,pythonanywhere 的服务器甚至看不到访问数据(就像什么都没发生一样)。

我终于找到了 NakedSSL,它可以让您将人们从您的裸域重定向到 https 版本。

我必须在我的 pythonanywhere 页面上添加一个免费的 SSL 证书(只需单击两次即可简单),然后在 NakedSSL 上一切也都非常简单。

现在我在所有情况下(404、通配符等)都获得了正确的页面,并且没有更多奇怪的欺骗内容。