Https 跳转到 http 后,$_SERVER['HTTP_REFERER']获取不到值的解决方案
前提,一个主域名页面的链接上面,有 N 个二级域名链接。
但是要在部分二级域名中判断 URL 来路,来防止迅雷等下载工具。
在本地测试一切正常,但在线上就是不行,搜索得知 HTTPS 到 HTTP 默认是获取不到 HTTP_REFERER 这个值的。
恰恰我的主域名为 HTTPS ,二级域名全部为 HTTP。
解决方案如下:
1、Https端解决方案,在 HTTPS 主域名页面添加 meta 标签
增加一个Meta头信息,来建议浏览器发送Referer,这并不是HTTP强制要求的,不排除有个别浏览器不去这么做。
<meta content="always" name="referrer">
2、只用将全站升级成Https,否则没有办法。
因为前侧域名太多,我才用了第一种方法。