位置:header好像没有设置HTTP_REFERER
Location: header does not seem to set HTTP_REFERER
在阅读我的问题之前,请注意:我知道 HTTP_REFERER 可以在客户端浏览器中被欺骗或禁用。我不关心我的用例,我正在测试的浏览器肯定会传递引用信息。
我的问题是:
我创建了一个名为 page1.php 的文件:
<?php
header("Location: page2.php");
我创建了第二个文件 page2.php:
<?php
echo "Referred by \"" . $_SERVER['HTTP_REFERER'] . "\"";
然后从我的客户端浏览器调用:
并且我期望 page2.php 的结果输出为:
Referred by "http://test-me.co/page1.php"
但它显示没有参考信息,如下所示:
Referred by ""
谁能告诉我为什么 referer 是空的?
非常感谢!
referer 包含用户访问的最后一个实际页面。如果您在地址栏中输入 URL example.com/a.html
,它会立即重定向到 /b.html
,那么您根本就没有真正访问过 a.html
;在那之前没有你 "came from".
的页面
要在重定向后看到任何引荐来源网址,必须从某处链接,即
a.html --link--> b.html --redirect--> c.html
然后在 c.html
中,您会看到 a.html
作为引荐来源网址。如果您在 b.html
开始此链,则没有 referer。
在阅读我的问题之前,请注意:我知道 HTTP_REFERER 可以在客户端浏览器中被欺骗或禁用。我不关心我的用例,我正在测试的浏览器肯定会传递引用信息。
我的问题是:
我创建了一个名为 page1.php 的文件:
<?php
header("Location: page2.php");
我创建了第二个文件 page2.php:
<?php
echo "Referred by \"" . $_SERVER['HTTP_REFERER'] . "\"";
然后从我的客户端浏览器调用:
并且我期望 page2.php 的结果输出为:
Referred by "http://test-me.co/page1.php"
但它显示没有参考信息,如下所示:
Referred by ""
谁能告诉我为什么 referer 是空的?
非常感谢!
referer 包含用户访问的最后一个实际页面。如果您在地址栏中输入 URL example.com/a.html
,它会立即重定向到 /b.html
,那么您根本就没有真正访问过 a.html
;在那之前没有你 "came from".
要在重定向后看到任何引荐来源网址,必须从某处链接,即
a.html --link--> b.html --redirect--> c.html
然后在 c.html
中,您会看到 a.html
作为引荐来源网址。如果您在 b.html
开始此链,则没有 referer。