如何获取请求引用域?没有子域[RAILS]

时间:2015-03-05 04:54:48

标签: ruby-on-rails ruby

例如:

@ref = 'http://sub.domain.com'
URI.parse(@ref).host 

返回'sub.domain.com'。如何获得'domain.com'?

4 个答案:

答案 0 :(得分:1)

将正则表达式应用于URI.parse(@ref).host仅返回域

URI.parse(@ref).host.match(/\w*.com$/)[0]

答案 1 :(得分:1)

使用request.domain(1)获取'domain.com'。

根据关于the request object 的Rails指南部分,request.domain属性采用可选参数,即request.domain(n)返回

  

主机名的前n个段,从右侧(TLD)开始。

从这个描述中并不明显,但它实际上是从TLD之前的点开始的;因此,给定'sub.domain.com'的请求对象,request.domain(0)将返回'.com',request.domain(1)将返回'domain.com'。

答案 2 :(得分:-1)

只需使用请求。

request.domain

答案 3 :(得分:-1)

要获取域名,您必须使用以下

request.domain

如果您使用

@ref = 'http://sub.domain.com'
URI.parse(@ref).host ====> It will give you host name(Both domain and subdomain)