我想将一堆内容转发到我的rails应用程序(包括嵌套资源)中的子域,而不通过我的所有视图来更新所有link_to _path
链接。这可能吗?
修改
到目前为止,我有以下内容。问题是,我可以使用或不使用子域访问所有内容,而不是在我进入或离开应该在子域上的资源时重定向。例如。 example.com/apps
与connect.example.com/apps
相同,网站根目录可以是example.com
或connect.example.com
scope '/' do
with_options :conditions => {:subdomain => 'connect'} do |site|
site.resources :contracts
site.resources :bills
site.resources :feedbacks
site.resources :newsletters
site.resources :contacts
site.resources :apps do
site.resources :elements, controller: 'apps/elements' do
site.resources :features, except: [:index], controller: 'apps/elements/features' do
member do
site.post 'complete'
end
end
end
site.resources :comments, controller: 'comments'
site.resources :bills, controller: 'bills'
site.resources :contracts, controller: 'contracts'
end
end
end
编辑2
config.middleware.insert_before(Rack::Lock, Rack::Rewrite) do
r307 %r{/apps/(.*)}, 'http://connect.localhost:3000/apps/$1'
end
答案 0 :(得分:2)
https://github.com/jtrupiano/rack-rewrite会让你这样做。它是与Web服务器无关的,所以你在heroku上并不重要。
例如
config.middleware.insert_before(Rack::Runtime, Rack::Rewrite) do
r307 %r{/apps/(.*)}, 'http://connect.example.com/apps/$1'
end
会针对/ apps /的请求发出重定向,以转到connect.example.com/apps /