为什么 Flask 为与我的应用程序位于同一目录中的文件提供 404

Why Flask gives 404 for files in the same directory with my application

假设我有一个域。在域的主目录下,我有一个名为 note.txt 的文本 (.txt) 文件。喜欢下面

https://www.example.com/note.txt

当我访问 url 时,浏览器显示文件中包含的文本字符串。但是当我 运行 在该域下 Flask 而不是传统的 html,css,javascript,php 应用程序时,服务器 return 404 错误,即使该文件实际上同时存在地点。我可以从 ftp 客户端看到这一点。

那么,当站点托管 python 应用程序而不是更传统的 html,css,javascript,php 应用程序时,为什么服务器 return 出现 404 错误?

你在这里缺少的是 Flask 有 its own URL routing.

  • Python 代码必须通过 app.route 装饰器暴露

  • 静态文件,例如您的 note.txt 可以通过 Flask 提供,但它们是 often handled by the front end web server (Nginx, Apache) through their configuration

"why does the server returns 404 error" 的答案是 URL 路由应该是显式的(除非您告诉它发生,否则什么也不会发生)而不是隐式的(默认情况下服务器上的所有内容都是公开的)。因为 PHP 选择了后一种方法,WordPress、Drupal 等。阿尔。传统的 PHP 网站在提供给不了解他们正在做什么的人时,很容易被黑客攻击。一开始可能很方便,但它也是公开邀请脚本小子突袭您的服务器。