Comment puis-je acheminer /foo
afficher /public/foo.html
dans Rails?
Tu peux le faire:
Ajoutez-le dans votre fichier routes.rb.
match '/foo', :to => redirect('/foo.html')
Mise à jour
Dans Rails 4, il doit utiliser "get", pas "match":
get '/foo', :to => redirect('/foo.html')
merci Grant Birchmeier
Cela peut être fait sans déclencher de redirection. Suivez les étapes plus bas pour pouvoir router des fichiers statiques dans config/routes.rb
Comme indiqué dans cet exemple:
# 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
Pour vous assurer que l'application est complètement rechargée).static(path)
dans votre config/routes.rb
.Par exemple, dans Rails 4, ajoutez l'itinéraire suivant:
get '/example', :to => redirect('example.html')
Vous devez également activer les fichiers statiques à partir du répertoire "public" dans votre configuration:
config.serve_static_files = true
OR
config.serve_static_assets = true
Vous devrez peut-être également fournir votre répertoire public en tant que root dans la configuration NGINX.