我们无法更改服务器配置文件,因此我们需要在rails级别进行重定向。
我对外部网站的路径重定向没有问题,例如:
match "/meow" => redirect("http://meow.com/")
问题在于子域名。我需要重定向,例如:
http://my.example.com => http://example.com
如何使用routes.rb完成此操作?
答案 0 :(得分:12)
根据@ cfernandezlinux的amazing answer, Rails 4 / Ruby 2 语法中的内容相同:
constraints subdomain: "meow" do
get "/" => redirect { |params| "http://www.externalurl.com" }
end
match
。您必须明确使用get
,post
等答案 1 :(得分:4)
我最终做了这样的事情:
constraints :subdomain => "meow" do
match "/" => redirect { |params| "http://www.externalurl.com" }
end
答案 2 :(得分:1)
如果您不想对URL进行硬编码(例如,可以在本地进行测试/使用),则可以执行以下操作:
constraints subdomain: 'subdomain_from' do
get '/' => redirect(subdomain: :new_subdomain, path: '')
end
所以现在subdomain_from.google.com
将重定向到new_subdomain.google.com
。
答案 3 :(得分:0)