Skip to content

Instantly share code, notes, and snippets.

@osulyanov
Last active December 12, 2015 10:49
Show Gist options
  • Save osulyanov/4761939 to your computer and use it in GitHub Desktop.
Save osulyanov/4761939 to your computer and use it in GitHub Desktop.
Redirect to www version and remove trailing slash
gem 'rack-rewrite'
Kremlintunes::Application.config.middleware.insert_before(Rack::Lock, Rack::Rewrite) do
r301 %r{^/(.*)/$}, '/$1'
r301 /.*/, Proc.new {|path, rack_env| "http://www.#{rack_env['SERVER_NAME']}#{path}" }, :if => Proc.new {|rack_env| ! (rack_env['SERVER_NAME'] =~ /www\./i)}
# OR
# r301 /.*/, Proc.new {|path, rack_env| "http://#{rack_env['SERVER_NAME'].to_s[4..-1]}#{path}" }, :if => Proc.new {|rack_env| (rack_env['SERVER_NAME'] =~ /^www\./i)}
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment