我希望使用rails来重定向我确信在互联网上从我的旧域到新域的链接。
我想采取地址example.com/about(关于将不再存在)
并在我的application_controller中获取404,检查网址,然后重定向到
newexample.com/about
最好的方法是什么?
答案 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