No commit activity in last 3 years
No release in over 3 years
Remove or add www and trailing slash from urls for Rack applications. Use it if you can not edit Nginx or Apache configs.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.3
>= 0
~> 2.0

Runtime

>= 0
 Project Readme

Rack::SeoRedirect

Rack middleware for making non-www to www (and conversely) redirects and removing trailing slash in urls. Use it if you can not edit Nginx or Apache rewrite rules.

Installation

Add this line to your application's Gemfile:

gem 'rack-seo_redirect'

And then execute:

$ bundle

Or install it yourself as:

$ gem install rack-seo_redirect

Usage

With any Rack application

# config.ru
require 'rack/seo_redirect'
use Rack::SeoRedirect::Www
use Rack::SeoRedirect::TrailingSlash
run MyApp

With Rails

Insert to the top of the Rails middleware stack:

# application.rb
config.middleware.insert 0, Rack::SeoRedirect::Www
config.middleware.insert 0, Rack::SeoRedirect::TrailingSlash

Customization

Rack::SeoRedirect::Www

Your can pass true or false as a parameter to Www middleware. This indicates either you need www in your url or not.

For non-www to www redirect use:

use Rack::SeoRedirect::Www, true

For www to non-www redirect use:

use Rack::SeoRedirect::Www, false

Default is false (www to non-www).

Rack::SeoRedirect::TrailingSlash

Your can pass true or false as a parameter to TrailingSlash middleware. This indicates either you need / in the end of your url or not.

For adding / to the end of urls use:

use Rack::SeoRedirect::TrailingSlash, true

For removing / from the end of urls use:

use Rack::SeoRedirect::TrailingSlash, false

Default is false (removing trailing slash).

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request