Я думаю, что вы смотрите на это неправильно.
Если вы посмотрите в Интернете, найдите сайт с функцией поиска и перейдите по ссылке, вы увидите параметр, показывающий, что искали.
Это хороший способ сделать это.
Выполнение этого с помощью HTTP_REFERER
кажется немного хрупким и не работает, например, из закладки или размещенной ссылки.
например.
/cars/12?from_search=sports+cars
тогда вы можете просто посмотреть params[:from_search]
Если вам действительно нужно сделать это по HTTP_REFERER
, то вам, вероятно, не нужно беспокоиться о поддоменах. Просто,
def http_referer_uri
request.env["HTTP_REFERER"] && URI.parse(request.env["HTTP_REFERER"])
end
def refered_from_our_site?
if uri = http_referer_uri
uri.host == request.host
end
end
def refered_from_a_search?
if refered_from_our_site?
http_referer_uri.try(:query)['search']
end
end