在RoR中为每个用户创建新的URL路径
如何在Ruby on Rails中实时创建新的URL路径?
例如:我希望我的用户拥有name.XXX.com或XXX.com/name。
FYi我在Heroku上托管代码。
看看subdomain-fu插件。
在示例中,我会查看“虚荣”url以前的一些答案,例如:http://www.username:
如何在Rails应用程序中实现虚荣URL?
如何在rails中实现“短”嵌套虚荣URL?
至于子域名,@ Arkan,@ Anton,@ tadman的其他建议是一个很好的起点。
你需要一个通配符CNAME或A记录来首先指出你的名字,在这种情况下是*.XXX.com
,以便在DNS级别上处理这个问题。 第二部分是检查你的request.host
标题,它将是name.XXX.com
或其他任何使用的。 您可以使用它在before_filter
块中设置变量。
最简单的解决方案就像tadman描述的那样:设置DNS记录并为Apache / nginx编写重写规则/任何会吃子域并将其添加到params。
作为一个选项,设置一个中间件(更多关于它http://guides.rubyonrails.org/rails_on_rack.html ),您可以在Rails路由处理之前重写/路由请求。 仔细准备,这可以帮助实现非常复杂的东西:)