是否可以在Rails应用程序之外设置重定向规则?

时间:2014-02-25 12:35:01

标签: ruby-on-rails

我有一个Rails应用程序,它运行良好。对于某些特定页面,我想在用户请求该页面时将其重定向到其他页面,但我想要的是进行重定向outside Rails代码,因此最后的设置必须是外部rails代码本身。 可能有一个htaccess文件要修改为外部文件以重定向到其他页面,但到目前为止我还没有使用rails。

所以,问题是 - 这可能吗?

2 个答案:

答案 0 :(得分:1)

您需要在命中Rails应用之前处理该请求。例如,您可以在正在使用的HTTP服务器配置(nginx,apache等)中创建重写规则。

请参阅以下链接:

如果您无法访问服务器配置(例如,您使用的是Heroku),则可以使用refraction gem(https://github.com/joshsusser/refraction)。它是一个中间件,所以实际上你将这个重定向逻辑放在Rails中,但至少它不会碰到你的控制器。

答案 1 :(得分:0)

Rails允许redirect_to中的外部网址,因此您可以执行以下操作:

redirect_to "http://www.example.com/interesting_page"

如果那就是你要找的东西。