我有一个要求,我想在哪里重定向到外部网址 这是我的代码 在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
答案 0 :(得分:1)
操作只能是控制器中的方法,而不是外部网址(请参阅路线指南)
当您使用redirect_to重定向并使用外部网址时(如您的示例所示),router.rb甚至无法参与
在您自己的网址下显示外部网页并不容易,其中一种方法是使用帧转发或使用反向代理。
'external_url?属于你自己?还是来自其他人?