rails handle 404 with url redirect

时间:2011-03-08 14:15:47

标签: ruby-on-rails

我希望使用rails来重定向我确信在互联网上从我的旧域到新域的链接。

我想采取地址example.com/about(关于将不再存在)

并在我的application_controller中获取404,检查网址,然后重定向到

newexample.com/about

最好的方法是什么?

2 个答案:

答案 0 :(得分:8)

将其添加到Routes文件的末尾:

map.connect '*path', :controller => 'some_controller', :action => 'some_action'

这将捕获任何404.在将处理此路由的控制器和操作中,使用params[:path]检查URL。然后,您可以redirect_to基于params[:path]中包含的内容。

答案 1 :(得分:0)

您需要使用rescue_from。在ApplicationController中添加以下内容:

rescue_from ActionController::RoutingError,       :with => :redirect_missing
rescue_from ActionController::UnknownController,  :with => :redirect_missing
rescue_from ActionController::UnknownAction,      :with => :redirect_missing

def redirect_missing
  redirect_to "http://newexample.com/about"
end