如何将访问者重定向到 Middleman 中的另一个站点?

How to redirect the visitors to another site in Middleman?

在 PHP 中重定向到另一个站点 非常 容易。如果他们想将访问者从 "www.yoursite.com/news" 重定向到 "www.bbc.com"...我所要做的就是制作 "news" 文件夹并在其中创建一个 index.php 文件并添加此行:

<?php
   header("Location: http://www.bbc.com/");
?>

我完成了!但是我最近开始从事一个用 Ruby 编写的项目,并且很难弄清楚如何完成这个简单的任务:<

这可能是一个非常愚蠢的问题,但我们将不胜感激任何帮助!!

更新:

所以发现这个项目是使用静态站点生成器Middleman来构建站点的,这就是为什么没有routes.rb文件的原因。它只有 config.rb。谁能帮我弄清楚如何在中间人中重定向?

第二次更新:

看起来因为 Middleman,这种重定向不可能那么简单。所以我问这个(非常愚蠢的)问题:

您需要在 routes.rb 中设置自定义路线:

get "/news" => redirect("http://bbc.com")

所以终于找到了解决我的问题的简单方法:)

为了将www.yoursite.com/news重定向到www.bbc.com,首先我创建了我的 source 文件夹下的一个 news.html.erb 文件(你有 index.html.erb 文件)。在该文件中,我添加了以下行和 wallaaahhhh!

<% content_for :body_content do %>
  <script type="text/javascript">
    // Javascript URL redirection
    window.location.replace("http://www.bbc.com/");
  </script>

  <noscript>
    // Using HTML refresh meta tag as a fail back in case the user has javascript disabled
    <meta http-equiv="refresh" content="0;URL=http://www.bbc.com/">
  </noscript>
<% end %>

我在这里要提的一件事是 most sites 建议

using window.location.href, because replace() does not put the originating page in the session history, meaning the user won’t get stuck in a never-ending back-button process.

但在我的情况下 window.location.href 没有成功:(