首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在PHP/Javascript中向前获取301/302的源url

在PHP和JavaScript中,可以使用HTTP头部来获取301/302的源URL。当服务器返回301(永久重定向)或302(临时重定向)状态码时,会在HTTP头部中包含一个名为"Location"的字段,该字段的值即为重定向的目标URL。

在PHP中,可以使用以下代码获取301/302的源URL:

代码语言:txt
复制
<?php
$url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$headers = get_headers($url, 1);
if (isset($headers['Location'])) {
    $sourceUrl = $headers['Location'];
    echo '源URL:' . $sourceUrl;
} else {
    echo '没有重定向';
}
?>

在JavaScript中,可以使用XMLHttpRequest对象来发送HTTP请求,并通过getResponseHeader()方法获取HTTP头部信息。以下是一个示例:

代码语言:txt
复制
var xhr = new XMLHttpRequest();
xhr.open('GET', window.location.href, true);
xhr.onreadystatechange = function() {
    if (xhr.readyState === 4 && xhr.status >= 300 && xhr.status < 400) {
        var sourceUrl = xhr.getResponseHeader('Location');
        console.log('源URL:' + sourceUrl);
    } else {
        console.log('没有重定向');
    }
};
xhr.send();

这样,无论是在PHP还是JavaScript中,都可以获取到301/302的源URL。301/302重定向常用于网页跳转、URL重写等场景。对于PHP开发,可以使用腾讯云的云服务器(CVM)来部署PHP应用;对于JavaScript开发,可以使用腾讯云的云函数(SCF)来运行JavaScript代码。腾讯云的CVM和SCF都提供稳定可靠的计算资源和服务支持。

腾讯云产品相关链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PHP实现获取url地址顶级域名方法示例

本文实例讲述了PHP实现获取url地址顶级域名方法。分享给大家供大家参考,具体如下: parse_url()获取host时多级域名,如:mp.weixin.qq.com。...做域名黑名单时候我们需要得到顶级域名。 有不足之处还请留言指正,谢谢。 <?...* @Last Modified time: 2019-03-20 13:45:12 */ header('content-type:text/html;charset=utf-8'); //获取顶级域名...function getTopHost($url){ $url = strtolower($url); //首先转成小写 $hosts = parse_url($url); $host = $...相关内容感兴趣读者可查看本站专题:《php socket用法总结》、《php字符串(string)用法总结》、《PHP数学运算技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)

4.4K40
  • Php 把 Allow_url_fopen 打開風險

    apache error_log 發現一些訊息如下: sh: -c: line 1: syntax error near unexpected token `;' sh: -c: line...到 Google 找了一下, 發現 PHP Bugs 這篇文章, 裡頭提到了, 應該是 allow_url_fopen 打開時候, 如果有人傳入一個參數為 xxx=http://xxx/xxx 之類東西...所以… 如果你沒有用到 URL file-access 功能話, 請 php.ini : ; Whether to allow the treatment of URLs (like http... php 4.3 之前, allow_url_fopen 似乎不會讓 include(), require() 之類函式, 可以讀取遠端程式碼進來, 不過, 4.3 之後, 就可以讓這類函式有了遠端讀取能力... php 官方網站上頭, 看到 php 6 有另一個 allow_url_include 選項, 應該就是為了解決這個問題, 讓我們可以一般情形下使用 fopen 去打開遠端檔案, 而不會用在

    1.9K30

    python接口自动化(十八)--重定向(Location)(详解)

    简介   实际工作,有些接口请求完以后会重定向到别的url,而你却需要重定向前urlURL主要是针对虚拟空间而言,因为不是自己独立管理服务器,所以无法正常进行常规操作。...1、请求转发(requestDispatcher) 该动作是服务器行为,web容器中进行,客户端对于跳转是不知道,地址栏显示URL是不会变化,因为请求转发是一次请求,相同request,...但是访问文件夹却是www.xusseo.com/wap,这种访问则被 称之为重定向。 常见重定向分为301重定向和302重定向。...2、302重定向代表暂时性转移(Temporarily Moved ) 302重定向使用并不多见,它通常被称之为暂时性转移。302重定向使用常见于meta重定向和JavaScript重定向。...获取重定向后地址 1、第一个请求后,服务器会下发一个新请求链接, response headers 里,如下抓包:Location ? 2、代码实现获取Location 地址 ?

    2.3K51

    腾讯云CDN开启SSL返回302

    下面解释下要说内容吧! 使用腾讯云CDN,配置好SSL后,开启强制HTTPS,默认是返回302。...但是不开启强制HTTPS,站配置HTTPS跳转貌似是无效(首页) 比如: 访问是http://www,yflad.cn,不开启强制HTTPS时,返回301,但是跳转还是http://www.yflad.cn...302(临时重定向,request_uri):搜索引擎会抓取新内容而保留旧网址。因为服务器返回302代码,搜索引擎认为新网址只是暂时。...301(永久重定向,permanent):搜索引擎抓取新内容同时也将旧网址替换为重定向之后网址。...方法一:关闭 强制HTTPS 情况下,header头部加入以下代码 if (document.location.protocol !

    4.7K30

    什么是301,有啥作用,怎样做301转向?

    网址转向还有其他方法,如302转向、JavaScript转向、PHP/ASP/CGI程序转向、Meta Refresh 等。 除了301转向外,其他方法都是常用作弊手法。...搜索引擎会把网页B当做唯一有效目标,网页A累积页面权重将被传递到网页B。 实际上,都是不规范URL通过301转向到规范URL,Google会传递大部分权重,百度会传递全部权重。...%{HTTP_HOST} ^domain.com [NC]RewriteRule ^(.*) http://www.domain.com/$1 [L,R=301] 如果网站用是Windows主机,可以控制面板做...如果页面是 ASP 或 PHP ,还可以做301转向。...3、动态URL静态化也可能要做301转向,将旧、动态URL301到新、静态URL。 作者:茹莱神兽 来源:https://www.woshiyy.cn/2584.html

    1.7K40

    301跳转与URL转发

    购买域名时,域名本身是不带有www,但由于域名要通过DNS服务器解析后才可以使用,在这个过程每一个域名是会指向一个web服务器ip地址,由于很早之前网站方都会增加一个”www”子域名来帮助客户以更多路径访问网站...首先第一条就是刚才我们提到为了seo优化,如何url网址规范化也提到,设置301转向后,原来页面将返回301 HTTP 状态码给浏览器或者搜索引擎,告知搜索引擎次页面已经永久重定向到了新网页上...有的域名服务商管理后台设置url转发功能(URL Forwarding)会使服务器返回302状态码给搜索引擎,而不是301 http 状态码。...据说这类url转发有的是通过给浏览器窗口套用一个框架iframe方式来实现隐藏转发,有的则是使用Javascript或Meta Refresh来实现不隐藏方式url转发,很少是真正用了301 重定向方法...PHP 301 重定向代码 301重定向也可以php文件通过加入php header来实现,代码如下: 1 <?

    15.7K30

    短链接安全

    用户点击短URL,浏览器用301/302进行重定向,访问到对应URL。 展示对应内容。 ?...301: 代表 永久重定向,也就是说第一次请求拿到长链接后,下次浏览器再去请求短链的话,不会向短网址服务器请求了,而是直接从浏览器缓存里拿,这样 server 端就无法获取到短网址点击数了,如果这个链接刚好是某个活动链接...302 会给 server 增加一点压力,但在数据异常重要今天,这点代码是值得,所以一般使用 302。...0x02 短链接风险 知道了用途及原理之后我们就可以短链接服务过程寻找可能存在缺陷。...2.3 中间环节缺陷 现在各种流程可能都存在安全检测功能,主要分为两种场景: 一、手机安全软件会自动读取短信中短链接并检测短链接是否为恶意链接,以此来提醒用户; 二、各社交平台比如微信等进行跳转时候会检测跳转链接是否为恶意链接

    3.4K20

    温故知新 .Net重定向深度分析

    Client Redirect vs Server Redirect   Response.Redirect方法默认行为:当前页面暂停执行,并向浏览器发送302响应码和新跳转URL; 浏览器识别302...由于页面地址浏览器不会更改,因此用户有可能会感觉异样。...③ 收藏夹:Server.Transfer服务器上工作,用户虽收到新页面内容,但浏览器地址不会更新。因此,用户无法为某些页面添加书签。...部分常见3xx响应码常规用法: 301 “永久移动” 站点改版,比如我们nginx强制要求使用 HTTPS: server { listen 80;...307 “临时重定向”   指示所请求资源已被临时移动到Location标头提供URL; 307和302之间唯一区别是307保证发出重定向请求时,Method和Body不会更改,当重定向地址是非

    1.4K20

    Typecho博客全站部署腾讯云CDN教程-星泽V社

    状态码缓存 - 默认 HTTP头部缓存配置 - 开启 回配置 Range回配置 - 开启 回跟随301/302配置 - 默认关闭 安全配置 鉴权配置 - 默认关闭 这项配置现在是“...选择回方式 - 协议跟随 HTTPS配置 - 开启强制跳转HTTPS 跳转方式设置 - 301跳转 HTTP2.0配置 - 开启 SEO优化配置 - 开启 HTTP Header配置...进阶配置 手动刷新CDN缓存 如因网站信息更变过多,可以腾讯云CDN后台手动刷新全站缓存.具体位置控制台-内容分发网络-左侧刷新预热,可以根据批量URL或者文件目录形式刷新资源....修改你服务器php.ini文件,查找 session.cache_limiter 参数,修改为 session.cache_limiter = none 并重启php.下图为修改前后差别....配置CDN后获取访客真实IP 网站在部署CDN后,一般无法获取访客真实IP,只能获取各CDN节点IP,解决此问题可修改站点根目录下 config.inc.php 添加以下代码: if(isset(

    1.4K40

    http response code 301302,你懂吗

    二.现实差异 2.1.对于用户 301302对用户来说没有区别,他们看到效果只是一个跳转,浏览器URL变成了新URL。页面跳到了这个新url指向地方。...实际上如果搜索引擎遇到302转向时,百分之百都抓取目标网址B的话,就不用担心网址URL劫持了。问题就在于,有的时候搜索引擎,尤其是Google,并不能总是抓取目标网址。为什么呢?...由于搜索引擎排名算法只是程序而不是人,遇到302重定向时候,并不能像人一样去准确判定哪一个网址更适当,这就造成了网址URL劫持可能性。...三.Apache实现301302 方法一,url rewrite,mod_rewrite [plain] view plain copy Rewriteengine on RewriteCond...如果没有指定redirect返回参数(例301),则默认重定向是"临时性"(HTTP status 302)。

    2.7K10

    什么是301重定向?301转跳怎么做?

    301 转向(或叫 301 重定向,301 跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回 HTTP 数据流中头信息(header)状态码一种,表示本网页永久性转移到另一个地址。...除了 301 转向,网址转向还有其他方法,如 302 转向、JavaScript 转向、PHP/ASP/CGI 程序转向、Meta Refresh 等。....*)$ http://www.sccens.net/$1 [L,R=301] 注:设置.htaccess 文件(只适用于 Apache,并且需要虚拟主机支持) 宝塔面板转跳 宝塔面板自带 301 重定向选项...所以访问域名是不带 www 域名,如果添加了 SSL 证书,记得目标 URL 前缀改为 https。 PHP 实现自动转跳 <?...然后添加到 header.php 文件顶部即可

    5.3K40

    http response code 301302,你懂吗

    二.现实差异 2.1.对于用户 301302对用户来说没有区别,他们看到效果只是一个跳转,浏览器URL变成了新URL。页面跳到了这个新url指向地方。...实际上如果搜索引擎遇到302转向时,百分之百都抓取目标网址B的话,就不用担心网址URL劫持了。问题就在于,有的时候搜索引擎,尤其是Google,并不能总是抓取目标网址。为什么呢?...由于搜索引擎排名算法只是程序而不是人,遇到302重定向时候,并不能像人一样去准确判定哪一个网址更适当,这就造成了网址URL劫持可能性。...三.Apache实现301302 方法一,url rewrite,mod_rewrite [plain] view plain copy Rewriteengine on RewriteCond...如果没有指定redirect返回参数(例301),则默认重定向是"临时性"(HTTP status 302)。

    1.1K20

    PHP网络技术(一)——HTTP协议

    注:301302区别: 301302对用户来说没有区别,他们看到效果只是一个跳转,浏览器URL变成了新URL。页面跳到了这个新url指向地方。...但是302转向可能会有URL规范化及网址劫持问题。可能被搜索引擎判为可疑转向,甚至认为是作弊。...nginx上,配置页面跳转,server下,对于rewrite命令,301是用permanent,302是用redirect。...头域允许客户端指定请求URI资源地址。Referer可以记录访问来源,统计访问量,可以用来防盗链。...PHP曾经有过自带获取Referer函数$_SERVER['HTTP_REFERER'],现在已经被删除,也不建议这样使用,因为这样获取内容很有可能是伪造

    1.2K60

    详解301永久重定向实现方法 转

    /default.html 如果不做301重定向会导致:你站点主域名pr值分散到其他几个URL了。...欲重定向网页或目录上按右键;选中“重定向到URL”;在对话框输入目标页面的地址;切记,记得选 “资源永久重定向”;当然,最后要点击“应用”,完成。如下图所示: ?...2:Apache 服务器实现301 重定向 Apache ,有个很重要文件.htaccess,通过对它设置,可以实现很多强大功能,301 重定向只是其中之一。...302代表 暂时性转移,只有当一个网站或网页24到48小时之内临时移到其它位置情况下才能使用该命令。...怎么选择是重定向还是转发 通常情况下转发更快,而且能保持request内对象,所以他是第一选择。但是由于转发之后,浏览器URL仍然指向开始页面,此时如果重载当前页 面,开始页面将会被重新调用。

    4.6K40

    Scout:一款功能强大轻量级URL模糊测试与爬取工具

    关于Scout  Scout是一款功能强大轻量级URL模糊测试与爬取工具,可以帮助广大研究人员进行URL模糊测试,并爬取目标Web服务器难以扫描发现VHSOT、文件和目录等资源。...项目中包含了一个完整字典文件,并尽可能地提供了更多便携性,减少广大研究人员使用该工具时所需配置操作,即实现了“开箱即用”。  ... 工具使用样例  URL扫描 -x, --extensions 需检测文件后缀,默认为php、htm、html和txt。...-f, --filename 要在目标文件夹搜索文件名称。 -H, --header 请求额外包含Header,例如:-H "Cookie: PHPSESSID=blah"。...10 [+] Extensions php,htm,html [+] Positive Codes 200,302,301,400,403,500,405,204,401,301,302

    52330

    教程:301永久重定向实操方法

    如果不做301重定向会导致:你站点主域名pr值分散到其他几个URL了。...欲重定向网页或目录上按右键;选中“重定向到URL”;在对话框输入目标页面的地址;切记,记得选 “资源永久重定向”;当然,最后要点击“应用”,完成。...如下图所示: v9nbqk0jr3.jpeg 2:Apache 服务器实现301 重定向 Apache ,有个很重要文件.htaccess,通过对它设置,可以实现很多强大功能,301...302代表 暂时性转移,只有当一个网站或网页24到48小时之内临时移到其它位置情况下才能使用该命令。...怎么选择是重定向还是转发 通常情况下转发更快,而且能保持request内对象,所以他是第一选择。但是由于转发之后,浏览器URL仍然指向开始页面,此时如果重载当前页 面,开始页面将会被重新调用。

    4.6K30

    Php公众号40029,微信公众号网页授权产生 错误代码:40029 真正解决

    这个问题网上有很多所谓解决方法,某些也确实能解决,我开发过程也遇到相同问题,下面记录一下我解决方法。...百度了一下,原来302是一种不稳定跳转,可能产生网页劫持,微信应该就是因为这个所以做了两次请求。 如果302定向会出问题,那么用301永久定向就没问题了吧?果然用301定向问题解决。...下边是301跳转方法: (1)用javascript跳转 location.href=“https://open.weixin.qq.com/connect/oauth2/authorize?...跳转(C#,其它语言自己摸索) private void Redirect(string Url) { Response.StatusCode = 301; Response.Status = “301...no-cache”); Response.End(); } PS:产生40029错误,是因为获取code那一步跳转出问题,code已经过期,再传到下一步,当然提示code无效啦!

    77220
    领券