-
Notifications
You must be signed in to change notification settings - Fork 1
Home
kwi edited this page Sep 14, 2010
·
6 revisions
Handler 301 is a plugin for Ruby on Rails that lets you easily manage 301 redirections trough a config file.
- Change your url scheme without losing your page rank.
- Import old url from an anterior website version easily.
- Use named_routes for doing 301 redirection (Conserve GET parameters)
First, create the config/handler301.yml file and place urls you want to redirect in it :
"old_url.html": home_path
"old_url_without_path.html": home
"product_number_one.html": products_path :id => 1
Then, configure a controller that match non matching routes in your config/routes.rb
ActionController::Routing::Routes.draw do |map|
map.connect "*path", :controller => 'error', :action => 'handle404'
end
MkdBaseApp::Application.routes.draw do
match "*path" => 'error#handle404'
end
And finally, in your ErrorController (or whatever the name of your non matching routes controller) :
class ErrorController < ApplicationController
def handle404
unless handle_301(request.path, request.query_parameters)
# Do your stuff here
end
end
end