我在我的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中使用/检测语言代码的最佳做法? 谢谢你的回答。
答案 0 :(得分:2)
当您的服务器面向公共(或甚至在本地测试期间)时,您必须期望任意请求。对不符合您的URL架构的请求的明显响应是404 Not Found
。这意味着您应该检查lang_code
是否是您支持的语言之一。
/robots.txt
文件用于限制搜索引擎的访问权限。但是,无法保证搜索引擎遵守这些限制。
您使用的方法是支持多种语言的常用技术。其他常见技术涉及URL参数,例如?lang=en
或cookie。请注意,该浏览器还通过HTTP标头字段Accept-Language
指示用户语言首选项。如果缺少任何其他语言指示,这可用于以首选语言重定向到页面版本。