获取php中的referrer URL(包括参数)
是否有任何 HTTP 标头可供我使用网络服务器/服务器端脚本来获取整个引荐来源网址? 包括查询字符串等?
Are there any HTTP Headers I could use to grab the entire referrer URL using a webserver/server-side scripting? Including query string, et cetera?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该能够从 $_SERVER['HTTP_REFERER'] 变量中获取它。
You should be able to grab it from the $_SERVER['HTTP_REFERER'] variable.
补充一下 Chacha 的观点,我不知道您是否想捕获引用网址的客户端哈希部分(有时,您会这样做)。 即,如果客户端来自“http://www.domain.com?x=3 #y=5”,$_SERVER['HTTP_REFERER'] 将仅包含“http: //www.domain.com?x=3”,哈希部分不会发送到服务器。
如果您想捕获该哈希部分(正式称为 URL 片段),则只有当引用页面是您自己的页面时才可以这样做 - 即如果您可以在该页面上编写代码。 如果是,只需向捕获引荐来源网址的统计 Web 服务发送 AJAX 请求,然后发送整个 URL(javascript 确实可以访问 URL 的该部分)。
To add to Chacha's point, I don't know if you want to capture the client side hash part of the referrer URL (sometimes, you do). I.e. if the client came from "http://www.domain.com?x=3#y=5", the $_SERVER['HTTP_REFERER'] will only contain "http://www.domain.com?x=3", and the hash part won't be sent up to the server.
If you want to capture that hash part (officially called the URL fragment), you can only do so if the referring page is your OWN page - i.e. if you can write code on that page. If it is, just send up an AJAX request to your statistics web service that captures referrers, and send the entire URL up (javascript does have access to that part of the URL).