首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不修改标头的PHP重定向

问不修改标头的PHP重定向
EN

Stack Overflow用户
提问于 2009-03-27 04:44:29
回答 2查看 3.6K关注 0票数 2

我有一个PHP脚本,它通过一些代码重定向用户,比如:

header ('Location: http://someurl/somepage.php');

然后在somepage.php中,我尝试访问$_SERVER['HTTP_REFERER']以确定页面请求来自何处。我发现在使用header location方法调用页面时,$_SERVER['HTTP_REFERER']是空的。

是否有其他方法可以用于重定向用户,以便我仍然可以在目标页面中使用$_SERVER['HTTP_REFERER']。

EN

回答 2

Stack Overflow用户

发布于 2009-03-27 04:54:57

您可以尝试一件事:不发送HTML头,而是发回一个带有标记的Location页面

代码语言:javascript
复制
<meta http-equiv="refresh" content="0;url=http://someurl/somepage.php">

在<head>部分中。但我不确定这是否能解决你的问题。这真的取决于浏览器的行为。$_SERVER['HTTP_REFERER']的值来自浏览器可以自由发送或不发送的Referer请求头。

您还可以做的其他事情是

代码语言:javascript
复制
header("Location: http://someurl/somepage.php?referer=http%3A%2F%2Fthisurl%2Fthispage.php");

也就是说,将referer URL作为查询字符串参数发送,然后您就可以作为$_GET['referer']访问它。这可能比依靠浏览器发送referer报头更可靠。

票数 6
EN

Stack Overflow用户

发布于 2009-03-27 04:59:56

HTTP Referer:头是由用户代理设置的,而不是由服务器设置的。我不确定你能做些什么来确保你得到一个Referer头。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/688589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档