ruby - 如何通过 Rack 提供静态文件?

标签 ruby file static rack

我目前正在开发一个基于 Rack 的应用程序,并希望将所有文件请求(例如 filename.filetype)重定向到指定的文件夹。

Rack::Static 仅支持对特殊文件夹(例如“/media”)的文件请求。

我是否必须编写自己的 Rack 中间件或是否存在开箱即用的解决方案?

最佳答案

要将每个请求重定向到特定路径,请使用 Rack::File (出于某种原因,最近的文档中没有此类,但它是 still part of 最新的 Rack):

run Rack::File.new("/my/path")

要重定向每个请求,并在目标目录中添加所有文件的 HTML 索引,请使用 Rack::Directory :

run Rack::Directory.new("/my/path")

合并多个目录或仅处理来自目标目录的一些请求:

map "/url/prefix" do
  run Rack::File.new("/my/path")
end

# More calls to map if necessary...

# All other requests.
run MyApp.new

关于ruby - 如何通过 Rack 提供静态文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2265036/

相关文章:

c++ - 静态变量总是会耗尽内存吗?

java - 为什么Java main 方法是静态的?

ruby-on-rails - 我如何处理在 Rails 应用程序中共享唯一 URL?

ruby - ruby 电子表格 gem 可以换行吗?

python - 在每行的开头插入字符串

c++ - 从 C++ 文件中读取特定行

ruby-on-rails - 在 rails api 中设置所需的参数

ruby-on-rails - 将数据库模型转换为 Ruby On Rails 上的模型

PHP:如何使用通配符搜索文件

c++ - 如何防止 GCC 为静态成员生成守卫