Ich schreibe eine einfache statische Rack App. Überprüfen Sie den Code config.ru aus unter:Rack: Wie speichern Sie die URL als Variable?
use Rack::Static,
:urls => ["/elements", "/img", "/pages", "/users", "/css", "/js"],
:root => "archive"
map '/' do
run Proc.new { |env|
[
200,
{
'Content-Type' => 'text/html',
'Cache-Control' => 'public, max-age=6400'
},
File.open('archive/splash.html', File::RDONLY)
]
}
end
map '/pages/search.html' do
run Proc.new { |env|
[
200,
{
'Content-Type' => 'text/html',
'Cache-Control' => 'public, max-age=6400'
},
File.open('archive/pages/search.html', File::RDONLY)
]
}
end
map '/pages/user.html' do
run Proc.new { |env|
[
200,
{
'Content-Type' => 'text/html',
'Cache-Control' => 'public, max-age=6400'
},
File.open('archive/pages/user.html', File::RDONLY)
]
}
end
# Each map section is repeated for each HTML page served
Ich möchte dies vereinfachen, indem die URL als Variable zu speichern und die Erstellung eines Kartenausschnittes, die
map url do
run Proc.new { |env|
[
200,
{
'Content-Type' => 'text/html',
'Cache-Control' => 'public, max-age=6400'
},
File.open('archive' + url, File::RDONLY)
]
}
end
sagt Wie kann ich diese URL richtig eingestellt Variable?
Das funktioniert dank –
beachten Sie, dass diese den Content-Typ festgelegt wird 'text/html' für was auch immer Datei findet es auch 'robots.txt' oder " favicon.ico '. Aber ich denke, du kannst diese Linie immer verlassen und den Browser raten lassen. – rbp