看到有些网址用子域名,如 bj.xxx.com. 这是怎么做到的?route 里应该怎么写? 我想能否做个 demo, 所有路由都与正常路由一样,除了在前面加了"demo." 作为前缀。 比如:demo.aaa.com/topic/1 注:demo 页面有很多种类型
但如果不想把 demo 数据与真正生产数据放在一起 (即不存进生产数据库) , 那时候 demo 网页上的数据是否就必须硬编码得到,而非动态生成?(或者数据放在本页内,用 Array 生成?)
routes 应该管不到这里的。 比如以下的地址: http://localhost/post/1 http://192.168.10.10/post/1 http://demo.aaa.com/topic/1 http://www..aaa.com/topic/1
对于 routes 来说,能处理的是后面 topic/1,指定 show 方法来处理。 子域名是 DNS 的管理范围。
新人一个,不知道说的对不对
#1 楼 @besfan 二级域名,也是可以的
http://railscasts.com/episodes/388-multitenancy-with-scopes
二级域名,在 Nginx 或者 Apache 中配置
#5 楼 @teemo 不可以發盜版的東西。你可以說 railscast 有一集有講過這個內容。
rails 里 subdomain 大部分都是为了更 pretty 的 url,比如个人的主页是 chairy11.ruby-china.org 而不是 ruby-china.org/users/chairy11
像你这种情况实际上路由是一样的,只是根据不同的 subdomain 去选择不同的表或者数据库链接去取数据. 可以考虑写一个 middleware 或者 before_action 设置一个全局变量,然后根据这个变量去不同的地方取数据
#5 楼 @teemo 不要发盗版
使用域名泛解析就行了
在 controller 里边可以直接用request.subdomain
request.subdomain