How can I redirect a misspelled url to some default url in case a user mistypes a url?
You can add a default root, catch all routes.
By example an extract from Typo source code :
map.connect '*from', :controller => 'articles', :action => 'redirect'
In your controller you have a params[:from] which an Array of all params of your URL
You can rescue ActionController::RoutingError from application_controller, like CanCan suggests for unauthorized access:
class ApplicationController < ActionController::Base
(...)
# Reditect to a default route when user inputs a wrong one
rescue_from ActionController::RoutingError do |exception|
flash[:error] = "There is no such route"
redirect_to root_url
end
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With