Flask - 为什么我在服务器中看到robots.txt回答?

时间:2018-02-19 19:52:54

标签: python flask

我在我的localhost上运行了简单的Flask Web应用程序(以命令&#34开始;烧瓶运行")。

此网络应用程序适用于从URL检测到的更多语言。 例如:' http://localhost:5000/en/article'

在索引页上必须是网址:' http://localhost:5000/en/',但如果使用此代码:

@blueprint.route('/<string:lang_code>/')
def home(lang_code):
    print('Show lang:', lang_code)

输出是:

Show lang: robots.txt

并且没有来自URL的lang代码。 为什么我看到这个输出?哪个是在URL中使用/检测语言代码的最佳做法? 谢谢你的回答。

1 个答案:

答案 0 :(得分:2)

当您的服务器面向公共(或甚至在本地测试期间)时,您必须期望任意请求。对不符合您的URL架构的请求的明显响应是404 Not Found。这意味着您应该检查lang_code是否是您支持的语言之一。

/robots.txt文件用于限制搜索引擎的访问权限。但是,无法保证搜索引擎遵守这些限制。

您使用的方法是支持多种语言的常用技术。其他常见技术涉及URL参数,例如?lang=en或cookie。请注意,该浏览器还通过HTTP标头字段Accept-Language指示用户语言首选项。如果缺少任何其他语言指示,这可用于以首选语言重定向到页面版本。