如何获取请求引荐路径?


82

我需要引荐来源网址的路径。我不想要域名。例如,如果推荐人是 http://www.google.com/adsense我想要的/adsense

Answers:


138

request.referer返回一个字符串,但是您可以使用Ruby的URI模块包装它,然后简单地询问它的路径:

if URI(request.referer).path == '/adsense'

4
我正在使用该URI(request.referer)行,并不断收到URI :: InvalidURIError:错误的URI(不是URI?)错误。知道这可能是什么吗?
kateray 2012年

很难说没有更多信息会是什么。尝试仅在request.referer日志中打印,以查看Ruby为什么不喜欢它。(PS:你可能要问你的问题作为一个单独的问题,而不是在回答另一个问题评论:-))
chadoh

1
查看此问题以了解更多信息URI::InvalidURIError
James Chevalier 2013年

奇怪的是,即使不是空白,引荐来源网址也可能是无效的URI。我用包含'|'的引荐来源发现了这个问题,引荐引发了URI :: InvalidURIError我将URI.Parse包装在begin / rescue / end块中。
tomf 2015年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.