如何将/foo
路由到Rails中显示/public/foo.html
?
答案 0 :(得分:97)
你可以这样做:
将此添加到routes.rb文件中。
match '/foo', :to => redirect('/foo.html')
<强>更新强>
在Rails 4中,它应该使用“get”,而不是“匹配”:
get '/foo', :to => redirect('/foo.html')
答案 1 :(得分:12)
这可以在不触发重定向的情况下完成。按照下面的步骤操作,可以在config/routes.rb
中路由静态文件,如下例所示:
# This route will serve public/index.html at the /login URL
# path, and have a URL helper named `login_path`:
get "/login", to: static("index.html")
# This route will serve public/register.html at the /register
# URL path, and have URL helper named `new_user_registration_path`:
get "/register", to: static("register.html"), as: :new_user_registration
bin/spring stop
以确保应用已完全重新加载)。static(path)
。{/ li>中的config/routes.rb
方法
醇>
答案 2 :(得分:0)
例如,在Rails 4中添加以下路线:
get '/example', :to => redirect('example.html')
您还需要在配置中的“public”目录中启用静态文件:
config.serve_static_files = true
OR
config.serve_static_assets = true
此外,您可能需要在NGINX配置中以root身份提供您的公共目录。