是否可以在 Rails 应用程序之外设置重定向规则? [关闭]
Posted
技术标签:
【中文标题】是否可以在 Rails 应用程序之外设置重定向规则? [关闭]【英文标题】:Is it possible to set up a redirection rules outside Rails application? [closed] 【发布时间】:2014-03-27 16:30:07 【问题描述】:我有一个 Rails 应用程序,它运行良好。对于某些特定页面,当用户请求该页面时,我想将其重定向到其他页面,但我想要做的是重定向 outside
Rails 代码,所以最后的设置必须在 rails 之外代码本身。
可能有一个 htaccess 文件可以修改为外部文件以重定向到其他页面,但到目前为止我还没有使用 rails 这样做。
所以,问题是 - 这可能吗?
【问题讨论】:
什么是“在 Rails 代码之外进行重定向”? 我不想对 Rails 代码本身进行任何更改以进行重定向。有没有办法在 Rails 代码之外做到这一点?这就是我的意思 【参考方案1】:您需要在请求到达 Rails 应用程序之前对其进行处理。例如,您可以在您正在使用的 HTTP 服务器(nginx、apache 等)的配置中创建重写规则。
查看这些链接:
How to redirect in apache? How to redirect a url in NGINX如果您无权访问您的服务器配置(例如,您在 Heroku 上),您可以使用 refraction
gem (https://github.com/joshsusser/refraction)。它是一个中间件,所以实际上你将这个重定向逻辑放在 Rails 中,但至少它不会影响你的控制器。
【讨论】:
谢谢迈克尔。这就是我需要的! :) 切中要害 :) 附注带有项目符号列表的漂亮样式;)【参考方案2】:Rails 允许在 redirect_to
中使用外部 URL,因此您可以执行以下操作:
redirect_to "http://www.example.com/interesting_page"
如果那是你要找的。p>
【讨论】:
谢谢zwippie,但是有没有办法在rails应用程序之外定义重定向规则,比如在使用rails的网站上定义htaccess
或类似的东西以上是关于是否可以在 Rails 应用程序之外设置重定向规则? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章