如何在Ruby on Rails中实时创建新的URL路径?
例如:我希望我的用户拥有name.XXX.com或XXX.com/name。
FYi我正在Heroku上托管代码。
答案 0 :(得分:1)
看一下subdomain-fu插件。
答案 1 :(得分:1)
我会查看一些以前的'虚荣'网址的答案,例如:/ username:
How can I implement vanity URL's in a Rails application?
How to implement "short" nested vanity urls in rails?
至于子域名,@ Arkan,@ Anton,@ tadman的其他建议是一个很好的起点。
答案 2 :(得分:0)
您需要一个通配符CNAME或A记录来首先指出您的名字,在本例中为*.XXX.com
,以便在DNS级别上处理此问题。第二部分是检查request.host
标题,它将是name.XXX.com
或使用的任何内容。您可以使用它在before_filter
块中设置变量。
答案 3 :(得分:0)
最简单的解决方案就像tadman描述的那样:设置DNS记录并为Apache / nginx编写重写规则/任何会吃掉子域名并将其添加到params。
作为一个选项,设置一个中间件(更多关于它http://guides.rubyonrails.org/rails_on_rack.html),您可以在Rails路由处理之前重写/路由请求。仔细准备,这可以帮助实现非常复杂的事情:)