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

时间:2015-01-30 20:03:37

标签: ruby redirect middleman

在PHP中,重定向到另一个站点非常。如果他们想将访客从“www.yoursite.com/news”重定向到“www.bbc.com” ......我所要做的就是制作“新闻“文件夹并在其中创建一个index.php文件并添加以下行:

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

我完成了!但是我最近开始研究用Ruby编写的项目,并且无法弄清楚如何实现这个简单的任务:&lt;

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

更新:

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

第二次更新:

看起来因为Middleman,这种重定向是不可能的。所以我问这个(非常愚蠢)的问题:How to redirect URL in Javascript or jQuery

2 个答案:

答案 0 :(得分:2)

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

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

index.html.erb

我应该在此提及的一点是most sites建议

  

使用<% 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 %> ,因为window.location.href没有将原始页面放在会话历史记录中,这意味着用户不会陷入永无止境的后退按钮过程。

但在我的情况下,replace()没有做到这一点:(

答案 1 :(得分:1)

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

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