存在しないpathを指定した際に404を出力させる方法

routing errorやだな、どうやってやるんだろうかと悩んでいたところ
下記を見つけました。
ありがとうございます。

やってみた

route.rb
  map.connect '*path', :controller => 'application', :action => 'error_404'
application_controller

rescue_fromと組み合わせて、404用テンプレートをlayout無しで表示。

  rescue_from ActiveRecord::RecordNotFound, :with => :error_404
  rescue_from ActionController::UnknownAction, :with => :error_404
  def error_404
    render :template => '/shared/error_404', :layout => false, :status => 404
  end

こんな感じ

2010/03/06追記

*pathについて記載されてた
Railscasts - Catch-all Route

2010/03/07追記

rescue_action_in_publicを使用したエラーハンドリング - うんたらかんたらRuby - Rubyistより

こっちでやると、こんな感じ。
config/environments/*rb
config.action_controller.consider_all_requests_local にて制御。
trueだとlocal用、falseだとpublic用。

  protected
  def local_request?
    false
  end

  def rescue_action_in_public(exception)
    case exception
    when ActiveRecord::RecordNotFound, 
      ActionController::RoutingError,
      ActionController::UnknownAction
      render :file => "#{RAILS_ROOT}/public/404.html", :status => 404
      #render :template => '/shared/error_404', :layout => false, :status => 404
    else
      super
    end
  end