外部URL重定向问题IN Rails 2

时间:2011-01-13 08:44:01

标签: ruby-on-rails ruby

我有一个要求,我想在哪里重定向到外部网址 这是我的代码 在routes.rb中

  

map.connect“/ myapp /:someparam”,   :controller => “foocontroller”,   :action => “redirect_to_external_url”

在我的foo控制器中,我有这个动作

  

def redirect_to_external_url       redirect_to“http://externalurl.com/#{params[:someparam]}.html”   端

将重定向到外部网址

我面临的问题是 重定向后,浏览器显示“http://externalurl.com/bar.html,而我希望浏览器显示”/ myapp / bar“url(ex http://mydomain.com/myapp/bar)用于seo目的。

关于如何在轨道中实现这一点的任何想法? 我使用的Rails版本是2.3.4

1 个答案:

答案 0 :(得分:1)

  1. 操作只能是控制器中的方法,而不是外部网址(请参阅路线指南)

  2. 当您使用redirect_to重定向并使用外部网址时(如您的示例所示),router.rb甚至无法参与

  3. 在您自己的网址下显示外部网页并不容易,其中一种方法是使用帧转发或使用反向代理。

  4. 'external_url?属于你自己?还是来自其他人?