Python 烧瓶-为什么我在服务器应答中看到robots.txt?
我在本地主机上运行了简单的Flask web应用程序(从命令“Flask run”开始) 此web应用程序可与从URL检测到的更多语言配合使用。 例如:“” 索引页上的URL必须为:“”,但如果使用此代码:Python 烧瓶-为什么我在服务器应答中看到robots.txt?,python,flask,Python,Flask,我在本地主机上运行了简单的Flask web应用程序(从命令“Flask run”开始) 此web应用程序可与从URL检测到的更多语言配合使用。 例如:“” 索引页上的URL必须为:“”,但如果使用此代码: @blueprint.route('/<string:lang_code>/') def home(lang_code): print('Show lang:', lang_code) 并且没有来自URL的lang代码。 为什么我看到这个输出?在URL中使用/检测语言代
@blueprint.route('/<string:lang_code>/')
def home(lang_code):
print('Show lang:', lang_code)
并且没有来自URL的lang代码。
为什么我看到这个输出?在URL中使用/检测语言代码的最佳实践是什么?
感谢您的回答。当您的服务器面向公众时(甚至在本地测试期间),您必须期望收到任意请求。对不符合URL模式的请求的明显响应是
404notfound
。这意味着您应该检查lang\u code
是否是您支持的语言之一
该文件用于限制搜索引擎的访问权限。然而,不能保证搜索引擎遵守这些限制
您使用的方法是支持多种语言的常用技术。其他常见技术涉及URL参数,例如,
?lang=en
,或cookie。请注意,该浏览器还通过HTTP标题字段Accept language
指示用户的语言首选项。如果缺少任何其他语言指示,这可以用于重定向到首选语言的页面版本。感谢您的回答,但仍然无法理解为什么我没有看到lang代码,而是字符串“robots.txt”。在我看来,我的解决方案是基于,如果您请求http://localhost:5000/en/
,您应该看到Show lang:en
。然而,显然也有类似http://localhost:5000/robots.txt
。Python/Flask将字符串robots.txt
放入lang\u code
并打印它。它不知道lang\u code
应该是一种语言,也不知道robots.txt
不是一种语言。
Show lang: robots.txt