2

ActionController::RoutingError ([GET] "/google83362a7a0f381ff0.html" に一致するルートはありません):

  1. 本番環境で上記のログが表示されます。これを防ぐにはどうすればよいですか。
  2. ユーザーが URL を間違って入力した場合、一般的なエラー ページにリダイレクトするにはどうすればよいですか
4

3 に答える 3

7

ルートが一致しない場合は、ユーザーを目的のページにリダイレクトできます

routes.rb ファイルの末尾に次のコードを書き留めます。

/config/routes.rb 内

#If no route matches
match ":url" => "application#redirect_user", :constraints => { :url => /.*/ }

次に、ユーザーを application_controller.rb ファイルのエラー ページにリダイレクトします。

*/app/controllers/application_controller.rb内*

def redirect_user
  redirect_to '/404'
end
于 2013-07-16T13:57:46.483 に答える
5

そのためにコントローラーをトリガーする必要はありません。

これを の最後のルールとして追加するだけですroutes.rb:

match '*path', via: :all, to: redirect('/404')

于 2016-09-06T23:21:05.443 に答える