提问人:jiggy1965 提问时间:5/31/2013 最后编辑:Glitch Desirejiggy1965 更新时间:5/31/2013 访问量:13186
为什么 http referer 没有显示?[关闭]
Why is the http referer not showing? [closed]
问:
我正在使用此代码想要显示用于访问此页面的 URL:
<?php
$referer = $_SERVER['HTTP_REFERER'];
echo ($referer);
?>
因此,当我在文件索引中.php将此代码放在 www.mysite.com/index.php 上,然后转到 www.mysite.com,它应该显示“www.mysite.com”,不是吗?
当我使用它时,它什么也没显示。不在 Mamp 上本地,也不在线。我做错了什么?
答:
4赞
deceze
5/31/2013
#1
referer 标头是浏览器在请求页面时发送的可选标头,用于通知服务器它来自上一页。因此,对于您在浏览器中输入的第一页,将没有引用者。单击从一个页面到另一个页面的链接后,可能会设置引用器。
2赞
Glitch Desire
5/31/2013
#2
$_SERVER['HTTP_REFERER']
告诉你你来自哪里,而不是你正在加载的页面。如果你想展示 www.mysite.com,你可能正在寻找.$_SERVER['HTTP_HOST']
如果您想要用于访问该页面的完整 URL,您可能在 .$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']
为了便于理解,如果您单击从 http://www.mysite.com/index.php 到 http://www.mysite.com/anotherpage.php 的链接,这些将是变量值^:
$_SERVER['HTTP_REFERER'] = "http://www.mysite.com/index.php"
$_SERVER['HTTP_HOST'] = "www.mysite.com"
$_SERVER['REQUEST_URI'] = "/anotherpage.php"
$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] = "www.mysite.com/anotherpage.php"
希望这会有所帮助,关于PHP保留变量的完整文档可能会对您有所帮助。$_SERVER
^ 并非所有浏览器都设置HTTP_REFERER
变量。它在 RFC 中是可选的,因此您不应该依赖它来执行任何功能。
评论