rack-www
Rack middleware to force subdomain redirects, e.g: www or www2
Installation
gem 'rack-www'Usage
Usage (by default it will redirect all requests to www subdomain):
config.middleware.use Rack::WWWCustomizing the :www option to true or false:
#redirects all traffic to www
config.middleware.use Rack::WWW, www: true
#redirects all traffic to the same domain without www
config.middleware.use Rack::WWW, www: falseRedirecting to a given subdomain:
config.middleware.use Rack::WWW, :subdomain => "secure"If you like it's also possible to show a message while redirecting the user:
config.middleware.use Rack::WWW, :www => false, :message => "You are being redirected..."You can optionally specify predicate to determine if redirect should take place:
config.middleware.use Rack::WWW, :predicate => lambda { |env|
!Rack::Request.new(env).params.has_key? "noredirect"
}Specifying host-regex to determine on what hosts to redirect:
config.middleware.use Rack::WWW, :host_regex => /example/iThis will only redirect when the host matches example, such as example.com or example1.com. It won't redirect on localhost or any other host that does not match the regex
It ignores any redirects when using IP addresses.
Options
- :www => default is true, redirects all traffic to www;
- :subdomain => redirects to any given subdomain;
- :message => display a message while redirecting;
- :host_regex => redirects if the given host match
License
MIT License. Copyright Jhimy Fernandes Villar http://stjhimy.com