Rack app,将所有内容重定向到root

时间:2012-01-09 15:05:26

标签: ruby rack

我刚刚将静态页面部署到Heroku作为静态机架应用程序。我的config.ru:

use Rack::Static, 
  :urls => ["/stylesheets", "/images"],
  :root => "public",
  :index => "public/index.html"

run lambda { |env|
  [
    200, 
    {
      'Content-Type'  => 'text/html', 
      'Cache-Control' => 'public, max-age=86400' 
    },
    File.open('public/index.html', File::RDONLY)
  ]
}

现在我想将所有请求重定向到此静态index.html文件。任何想法如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

它实际上从一开始就有效。我只需要调整图像和CSS文件的路径。

答案 1 :(得分:0)

如果删除“使用”中间件Rack :: Static的调用,则所有请求都将呈现index.html。虽然你可能要写

File.open('public/index.html').read

而不是

File.open('public/index.html', File::RDONLY)