我有一個用PHP編寫的應用程序,現在新的應用程序是用Rails編寫的。他們忘記了書籤和瀏覽器緩存頁面,所以我們仍然在/index.php上獲得很多點擊量重定向中斷到根的鏈接
我該如何將它指向我的rails應用程序的根目錄?
www.mydomain.com/index.php => www.mydomain.com
在此先感謝
我有一個用PHP編寫的應用程序,現在新的應用程序是用Rails編寫的。他們忘記了書籤和瀏覽器緩存頁面,所以我們仍然在/index.php上獲得很多點擊量重定向中斷到根的鏈接
我該如何將它指向我的rails應用程序的根目錄?
www.mydomain.com/index.php => www.mydomain.com
在此先感謝
您需要捕獲異常,並重定向如果錯誤代碼是404
有關詳細信息,請參閱此導視廣播: http://railscasts.com/episodes/53-handling-exceptions-revised?view=asciicast
基本信息如下。
您config/application.rb
路由例外添加到您的應用程序:
config.exceptions_app = self.routes
創建errors_controller
,然後在routes.rb
映射文件的錯誤,而它的表演動作:
match ':status', to: 'errors#show', constraints: {status: /\d{3}/ }
errors_controller.rb
:
class ErrorsController < ApplicationController
def show
if request.path == '/404'
redirect_to root_path
else
render text: request.path
end
end
end
然後使用您的展示模板爲那些不是404錯誤的應用程序渲染一些明智的錯誤。
把這個在您的config/routes.rb
所有其他路線後:
matches '*any_path' => redirect('/')
這將匹配任何給定的URL,並將其重定向到'/'
。但只要此聲明在routes.rb
中最後一次,它將不會用於文件中較高的路線。
您可以在路線中使用匹配 'match「/index.php」,:to =>「somecontroller#action」,:via =>「get」 – jbmyid