In *config/routes/rb*, as the last route add:
map.connect '*path', :controller => 'application', :action => 'handle_unrecog'
In *app/controllers/application.rb*, put this:
def handle_unrecog #do something here, the path info is in the @params value end
One of my uses for this is for a del.icio.us type user viewing. IE: _http://del.icio.us/[user]_ but having it only valid for users.
I'd do something like this:
def handle_unrec uname = @params['path'][0] #first part of the path user = User.find_by_login( uname ) if user return render :controller => "user", :action => "show", :id => user else return render :controller => "user", :action => "notfound" end end
Yay!