我目前正在开发一个基于 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/