To avoid receiving an error when you attempt to access one of your routes and accidentally leave a trailing slash on the URL, you can use Rack::Rewrite to redirect the browser to the same URL without the trailing slash.
First add the gem to your Gemfile
gem 'rack-rewrite', '~> 1.5.0'
Run bundle install
Add
require 'rack/rewrite'
to config/environment.rb
Now add
use Rack::Rewrite do
r301 %r{^/(.*)/$}, '/$1'
end
to config/environment.rb
Restart your Sinatra app and test in your browser.
@mwakipesile:
before(%r{/(.+)/$}) { |path| redirect(path, 301) }
This would only work if the original request is a GET request, correct? If the
path
is associated with a POST request or something, would it fail?