2011-01-13 64 views
1

我在哪里我想重定向到一个外部URL 这里的要求是我在routes.rb中外部URL重新方向问题2

map.connect“/ MyApp的/代码 :someparam “, :控制器=> ”FooController的“, :行动=> ”redirect_to_external_url“

以我foo的控制器我有此作用

高清redirect_to_external_url redirect_to的 “http://externalurl.com/#{params[:someparam]}.html” 结束

将重定向到外部URL

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

任何想法如何可以在轨道中实现这一点? Rails的版本,我用的是2.3.4

回答

1
  1. 行动只能是在你的控制器的方法,而不是外部URL(见路由指南)

  2. 当您重定向使用redirect_to的和使用一个外部网址(如你的例子)router.rb将不会涉及

  3. 在你自己的url下显示一个外部页面并不那么容易,一种方法是使用帧转发或使用反向代理。

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

+0

外部网址属于我们,但外部网站是在运行在apache上的Java平台上实现的。想知道如果我可以在Apache级别(httpd.conf)做一些事情来重写外部URL并使用mydomain.com而不是外部域名 – Rcoder 2011-01-13 08:57:21