mol*_*olf 38
要将每个请求重定向到特定路径,请使用Rack::File
(出于某种原因,在最近的文档中缺少此类,但它仍然是最新Rack的一部分):
run Rack::File.new("/my/path")
Run Code Online (Sandbox Code Playgroud)
要重定向每个请求,并添加目标目录中所有文件的HTML索引,请使用Rack::Directory
:
run Rack::Directory.new("/my/path")
Run Code Online (Sandbox Code Playgroud)
要组合多个目录或仅提供来自目标目录的一些请求:
map "/url/prefix" do
run Rack::File.new("/my/path")
end
# More calls to map if necessary...
# All other requests.
run MyApp.new
Run Code Online (Sandbox Code Playgroud)
Sri*_*lan 11
更新,最新的Rack实现允许您使用Rack :: Static
例:
use Rack::Static, :urls => ["/media"]
Run Code Online (Sandbox Code Playgroud)
将服务于./media
相对于config.ru
位置的文件夹下的所有静态资源.
kej*_*len 10
您可以Rack::File
直接使用.这是一个config.ru
可以插入Rackup 的文件,看它是否有效:
app = proc do |env|
Rack::File.new('foo/bar').call(env)
end
run app
Run Code Online (Sandbox Code Playgroud)