Rails4路由不同子域的公共目录

时间:2014-02-19 18:31:58

标签: ruby-on-rails ruby-on-rails-4


目前我有一个静态网页,我正在使用Rails4应用程序来替换该页面。

让我说我当前的网站网址是:http://www.foo.com

我有一个java应用程序,它将在特定的URL中查找更新:http://foo.com/updates/1.1/updateDescriptor.xml并下载同一目录中的一些文件。

每次我想为我的java应用程序创建一个新的更新时,我将使用一个FTP客户端并替换该目录中的xml和其他文件。

我想创建一个公共子域: http://files.foo.com并将更新目录放在那里。 所以,我的java应用程序将寻找:http://files.foo.com/updates/1.1/updateDescriptor.xml

问题是每个java应用程序都会在旧URL中搜索。 那么,我怎样才能将它重定向到rails中? 我试过了:

routes.rb <br/>
get '/updates/*all', to: redirect('http://files.foo.pt/updates/%{all}')

但是,URL编码不好:

http://foo.com/updates/1.1/updateDescriptor.xml

转向:

http://files.foo.com/updates/1.1%2FupdateDescriptor

编码错误,HTTP 404结果! 你们有什么想法可以帮助我吗? 谢谢, 努诺

1 个答案:

答案 0 :(得分:0)

试试这个get '/updates/*version/*file.*format', to: redirect('http://files.foo.pt/updates/%{version}/%{file}.%{format}')