Quick routes question...

I have

  # This is a catch-all for routes that don't exist, visitor is redirected to home page.   ActionController::Routing::Routes.draw do |map|     map.connect ':controller/:action/:id'     map.connect '*path', :controller => 'home'   end

in my routes.rb file. This works fine to redirect to the home page if somebody types a wrong or missing address into the web browser. But it doesn't change the url/uri displayed in the browser.

How can I change the url/uri to display what it should be? (in this case, domain followed by /home)

Nevermind, I've found a simple solution that works: I've simply made the catch-all route controller/action go to a controller where I def'd an action method that creates a flash message and redirects to the home page.

In routes.rb:

  # This is a catch-all for routes that don't exist, visitor is redirected to home page.   ActionController::Routing::Routes.draw do |map|     map.connect ':controller/:action/:id'     map.connect '*path', :controller => 'home', :action => 'catcher'#:controller => 'home', :action => 'index'   end

In the corresponding controller:

  def catcher     flash[:notice] = 'Seems that the page you were looking for does not exist, so you\'ve been redirected here.'     redirect_to :action => 'index'   end

It's not the most sophisticated thing but it works. Does anybody know the param to include in my flash message to display the originally requested address?

You could route this to a "redirect_home" action that calls redirect_to /home

Ah, Thanks Mr. Ivey, but it looks like my watery brain kicked in just minutes before your post! I already came to that conclusion. That said, I can see where adding loggin for this catcher method could generate useful SEO data for site features or simply routes that *should* be added! Of course it is also a good way to catch malicious visitors that should be banned in the htaccess file.