php - 获取跳转前的url
ringa_lee
ringa_lee 2017-04-10 18:01:57
[PHP讨论组]

例如从 淘宝那里修改一个链接,跳转到a.php
然后a.php又 hedader_location重定向到 b.php
在b.php 用 http_referer 获取到的是淘宝的url,请问用什么方法能获取 中间这个页面 a.php?

不希望是在a.php那里传值过去,因为有很多页面都跳转到b.php,在每个中间页面处理起来太麻烦

ringa_lee
ringa_lee

ringa_lee

全部回复(3)
怪我咯

首先如果在不在url里面传值,或者其他session cookie的情况下,能获取到来路的就只有reffer。

但是:
从这个事情的结果上讲
当浏览器打开一个301链接的时候,实际上是要求浏览器重新请求一遍新的提供的301目标地址。然后浏览器直接重新请求了新页面,并没有带上运行301的url。结果就是服务器与客户端并没有任何记录这个301页面url信息,谁也获取不到。

举个生活的例子,我们买了个中转的机票,在上第二架飞机的时候,你虽然拿出机票,那个飞机告诉你,飞机有问题,要你做另外一个飞机。然后我们拿这个票坐了另外的飞机,那这个飞机看到票的时候,只知道你第一架飞机是什么,并不知道是哪个飞机让你转过来的。机票就是在每次浏览器请求带上去的http-reffer

这也是在http协议的一些用户隐私策略中所提到的,并不是强制要求,只是说没有必要,如果http reffer被记录为跳转页面,那么点浏览器返回将又回到自己的页面上来,所以这个做法逻辑上也是讲得通。
https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.36
https://www.w3.org/Protocols/rfc2616/rfc2616-sec15.html

高洛峰

document.referrer

黄舟

如果不考虑IE67的话可以使用h5中的localstorage,至于cookie也能实现

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号