我的网站是
here.
它曾经是一个Django动力的博客.但是我不再更新它,所以我只是想让它成为一个静态的HTML网站.我已经把它移动到Heroku与Ruby Rack.
但是,每个URL都解析到主页.这是因为我的config.ru文件:
use Rack::Static,:urls => ["/media/images","/media/js","/media/css"],:root => "public" run lambda { |env| [ 200,{ 'Content-Type' => 'text/html','Cache-Control' => 'public,max-age=86400' },File.open('public/index.html',File::RDONLY) ] }
问题:有没有办法映射多个网址?例如foo.com/about映射到public / about / index.html,foo.com/posts/2012/oct/21/blog-postmaps to public / posts / 2012 / oct / 21 / blog-post / index.html
在这一点上,我甚至可以用手打字.
谢谢你的帮助.
解决方法
现在我发现最好的答案是:
use Rack::Static,:root => "public" map "/" do run lambda { |env| [ 200,File::RDONLY) ] } end map "/portfolio" do run lambda { |env| [ 200,File.open('public/portfolio/index.html',File::RDONLY) ] } end
并将每个URL映射到其相应的文件.乏味,但工作.另请参阅this question regarding URL variables的答案.无法让它为我工作.