在Rails

时间:2016-06-13 06:12:10

标签: ruby-on-rails-4 redirect

我想将其中一个应用程序的网址重定向到根网址,只要它进入浏览器,

假设有人点击"localhost:3000/home"应该被重定向到"localhost:3000"

基本上我想将以www.any_url.com/home结尾的任何网址(我的应用网址)重定向到应用的相应root_url

2 个答案:

答案 0 :(得分:1)

您可以在routes.rb。

中处理此问题

我们将/ home路由重定向到/。因此,如果有人试图访问localhost:3000 / home,他们将自动重定向到localhost:3000的主页面。

get '/home' => redirect('/')

答案 1 :(得分:1)

我看到这有一个已接受的答案,但为了防止其他人出现,我认为值得添加一个更通用的解决方案来将所有无效的URL路由到root url并通知请求者所请求的URL永久搬家。

301重定向永久移动

如果您在routes.rb中包含以下最后一行,则所有未识别的路线都将重定向到根网址。此外,Rails redirect帮助器是[301-redirect][1],其状态将通知请求者(例如,搜索引擎具有错误的,过时的索引链接),这是永久移动。这有助于保持您的应用搜索引擎索引清洁和正确。

  # This is a catchall redirect to home (does not help with (e) type errors)
  # CAUTION: This line will mask routing errors
  get "*path", to: redirect('/')